NSPredicate检查对象类的种类

use*_*500 29 iphone objective-c nspredicate ios

我有一个UIView对象数组.我想调用- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate这个数组来获取MyCustomView对象数组.

如何用"isKindOf:"编码谓词?

Jef*_*Jef 53

尝试(贬低)

[NSPredicate predicateWithFormat: @"className == %@", [someObject className]]
Run Code Online (Sandbox Code Playgroud)

要么

[NSPredicate predicateWithFormat: @"class == %@", [someObject class]]
Run Code Online (Sandbox Code Playgroud)

  • 当然这个谓词相当于`isMemberOfClass:`,而不是`isKindOfClass:`的原始问题? (3认同)
  • 正如@Tommy所说,这不是所述问题的正确答案.zekel在下面给出了正确的答案. (3认同)

zek*_*kel 28

我使用Jef的方法得到了错误.不过,这对我有用.

NSPredicate *predicate = [NSPredicate predicateWithFormat:
                                              @"self isKindOfClass: %@", class];
Run Code Online (Sandbox Code Playgroud)

资料来源:https://stackoverflow.com/a/2556306/168594