数组传递测试的对象数组

Jon*_*an. 2 iphone objective-c nsarray nspredicate ipad

我有一个NSArray对象,它有一个属性id.

然后,我有另一个NSArray与选择的ID.

我需要获取第一个数组中的所有对象,这些对象在第二个数组中列出了id.

是否可以在没有for循环的情况下执行此操作(对于循环来说好1,但我想避免它).我知道如何用2 for循环来做这个,但这看起来非常低效.所以基本上我正在寻找最有效的方式.

(Id是一个NSURL顺便说一句,所以它不能是任何整数特定的)

Dav*_*ong 5

没有循环!

NSArray *arrayOfIdentifiers = ...;
NSArray *arrayOfObjects = ...;
NSPredicate *filter = [NSPredicate predicateWithFormat:@"id IN %@", arrayOfIdentifier];
NSArray *filteredObjects = [arrayOfObjects filteredArrayUsingPredicate:filter];
Run Code Online (Sandbox Code Playgroud)

好吧,没有你写的循环.里面可能有循环filteredArrayUsingPredicate:.