EMRealtimeSearch.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //
  2. // EMRealtimeSearch.h
  3. // DXStudio
  4. //
  5. // Created by XieYajie on 22/09/2017.
  6. // Copyright © 2017 dxstudio. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. typedef void (^RealtimeSearchResultsBlock)(NSArray *results);
  10. @interface EMRealtimeSearch : NSObject
  11. /**
  12. * 是否连续搜索,默认YES(要搜索的字符串作为一个整体)
  13. */
  14. @property (nonatomic) BOOL asWholeSearch;
  15. /**
  16. * 实时搜索单例实例化
  17. *
  18. * @return 实时搜索单例
  19. */
  20. + (instancetype)shared;
  21. /**
  22. * 开始搜索,与[realtimeSearchStop]配套使用
  23. *
  24. * @param source 要搜索的数据源
  25. * @param searchText 要搜索的字符串
  26. * @param selector 获取元素中要比较的字段的方法
  27. * @param resultBlock 回调方法,返回搜索结果
  28. */
  29. - (void)realtimeSearchWithSource:(id)source searchText:(NSString *)searchText collationStringSelector:(SEL)selector resultBlock:(RealtimeSearchResultsBlock)resultBlock;
  30. /**
  31. * 从fromString中搜索是否包含searchString
  32. *
  33. * @param searchString 要搜索的字串
  34. * @param fromString 从哪个字符串搜索
  35. *
  36. * @return 是否包含字串
  37. */
  38. - (BOOL)realtimeSearchString:(NSString *)searchString fromString:(NSString *)fromString;
  39. /**
  40. * 结束搜索,只需要调用一次,在[realtimeSearchBegin...:]之后使用,主要用于释放资源
  41. */
  42. - (void)realtimeSearchStop;
  43. @end