gpt4 book ai didi

iphone - 将 2 个数组与 NSPredicate (cocoa) 进行比较

转载 作者:搜寻专家 更新时间:2023-10-30 20:07:54 25 4
gpt4 key购买 nike

我有一个带有 2 个属性的 NSObject

@interface Entity : NSObject  {

NSNumber *nid;
NSString *title;
}

我有 2 个数组,其中包含实体的对象,我想将 nid 上的这两个数组与谓词进行比较

array1: ({nid=1,title="test"},{nid=2,title="test2"})
array2: ({nid=2,title="test2"},{nid=3,title="test3"})

这两个数组都有一个值为 2 的 nid,所以我的输出应该是

array3: ({nid=2,title="test2"})

所以我可以生成一个只匹配 nid 的数组

最佳答案

以下代码似乎对我有用(它显然泄漏了 MyEntity 对象,但那不是示例目标):

NSArray* array1 = [NSArray arrayWithObjects:[[MyEntity alloc] initWithID:[NSNumber numberWithInt:1] title:@"1"], 
[[MyEntity alloc] initWithID:[NSNumber numberWithInt:2] title:@"2"], nil];

NSArray* array2 = [NSArray arrayWithObjects:[[MyEntity alloc] initWithID:[NSNumber numberWithInt:2] title:@"2"],
[[MyEntity alloc] initWithID:[NSNumber numberWithInt:3] title:@"3"], nil];

NSArray* idsArray = [array1 valueForKey:@"nid"];
NSArray* filteredArray = [array2 filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"nid IN %@", idsArray]];

filteredArray 包含其 id 存在于两个数组中的实体。

关于iphone - 将 2 个数组与 NSPredicate (cocoa) 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2873262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com