NSSet+Lookin.h 774 B

1234567891011121314151617181920212223242526272829303132333435
  1. //
  2. // NSSet+Lookin.h
  3. // Lookin
  4. //
  5. // Created by Li Kai on 2019/1/13.
  6. // https://lookin.work
  7. //
  8. #import "LookinDefines.h"
  9. #import "TargetConditionals.h"
  10. #if TARGET_OS_IPHONE
  11. #import <UIKit/UIKit.h>
  12. #elif TARGET_OS_MAC
  13. #import <Appkit/Appkit.h>
  14. #endif
  15. @interface NSSet<__covariant ValueType> (Lookin)
  16. - (NSSet *)lookin_map:(id (^)(ValueType obj))block;
  17. - (ValueType)lookin_firstFiltered:(BOOL (^)(ValueType obj))block;
  18. - (NSSet<ValueType> *)lookin_filter:(BOOL (^)(ValueType obj))block;
  19. /**
  20. 是否有任何一个元素满足某条件
  21. @note 元素将被依次传入 block 里,如果任何一个 block 返回 YES,则该方法返回 YES。如果所有 block 均返回 NO,则该方法返回 NO。
  22. */
  23. - (BOOL)lookin_any:(BOOL (^)(ValueType obj))block;
  24. @end