1

我有一个我的对象的实例数组 - MyObject。每个实例都有一个字符串和一个数组属性—— myArrayProperty它包含另一个类的实例——MyOtherObject我正在使用一个NSPredicate基于以下值进行一些过滤myArrayProperty

  NSPredicate *myPredicate = [NSPredicate predicateWithFormat:@"myArrayProperty.otherObjectProperty MATCHES %@", mySearchString];

在这种情况下,otherObject 属性是 MyOtherObject 的字符串属性。我怀疑问题出在这个构造上:myArrayProperty.otherObjectPropert

我的问题是,如何指示谓词遍历 myArrayProperty 中的所有项目?我想避免在这里使用 for 循环。谢谢。

4

2 回答 2

1

您可以使用...

NSPredicate *myPredicate = [NSPredicate predicateWithFormat:@"ANY myArrayProperty.otherObjectProperty MATCHES %@", mySearchString];

我相信。

于 2012-12-04T11:25:12.410 回答
0

您可以轻松地检查表单 nsobject 或形成一些基类并轻松地完成您的任务,例如:

ViewController *cont ;
NSMutableArray *array ;

[array addobject : cont];


nslog (@"%@",array);

for (UIViewController *crt in array ){
nslog (@"%@",crt);

}

明智地代替 UIViewcontroller 使用 NSObject 或其他基类..

于 2012-12-04T11:37:46.330 回答