有效地比较数组中的元素与coredata表行

Ale*_*way 0 iphone core-data objective-c

好.我有一个带有歌名的数组.我还有一个带有一些相同歌名的CoreData数据库.如何有效地检查两者中的哪些歌曲?我真的不想通过使用for循环将数据库中的每首歌与数组中的所有元素进行比较.我还需要知道CD阵列中的歌曲名数组中的哪些元素编号.谁能帮我?谢谢!

zah*_*lay 5

您可以将两个数组添加到两个不同的集合中,然后找到该交集.这将为您提供两个集合中的共同对象(在您的情况下为歌曲名称).

例:

NSSet *set1 = [[NSSet alloc] initWithObjects:@"one",@"two", nil];
NSSet *set2 = [[NSSet alloc] initWithObjects:@"one",@"none", nil];
NSMutableSet *set3 = [[NSMutableSet alloc] initWithSet:set1];
[set3 intersectSet:set2];
Run Code Online (Sandbox Code Playgroud)

在您的情况下,您可以使用initWithArray方法.