objective-c – 可以按类过滤NSArray吗?

objective-c – 可以按类过滤NSArray吗?,第1张

概述有没有办法构造一个谓词来按类类型过滤? 我当前循环遍历数组并检查每个对象的类。也许有一个更干净的方法? 您可以向NSObject添加一个类别,添加“cf_className”方法,如下所示: @interface NSObject (CFAdditions)- (NSString *) cf_className;@end@implementation NSObject (CFAdditio 有没有办法构造一个谓词来按类类型过滤?

我当前循环遍历数组并检查每个对象的类。也许有一个更干净的方法?

解决方法 您可以向NSObject添加一个类别,添加“cf_classname”方法,如下所示:

@interface NSObject (CFAdditions)- (Nsstring *) cf_classname;@end@implementation NSObject (CFAdditions)- (Nsstring *) cf_classname {  return NsstringFromClass([self class]);}@end

从那里,你可以使用谓词如:

nspredicate * p = [nspredicate predicateWithFormat:@"cf_classname = %@",aClass];NSArray * filtered = [anArray filteredArrayUsingPredicate:p];

如果你在Mac上,你可以使用 – [NSObject classname]而不是创建类别。 iPhone没有这种方法,因此需要一个类别。

总结

以上是内存溢出为你收集整理的objective-c – 可以按类过滤NSArray吗?全部内容,希望文章能够帮你解决objective-c – 可以按类过滤NSArray吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1039581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存