【发布时间】:2016-12-30 07:08:54
【问题描述】:
我在 Array 中有一个字典对象。
我想用新字典替换这个对象。
两者都有相同的 order_id。
目前我正在这样做,我如何使用 NSPredicate 来做到这一点。
NSMutableArray *orderList=[[NSUserDefaults standardUserDefaults] objectForKey:@"Orders"];
//2. Find and replace the object/OrdeDetails.
for(int i=0;i<orderList.count;i++){
NSDictionary *dictionary=orderList[i];
if([dictionary[@"order_id"] isEqualToString:OrderDetails[@"order_id"]]){
[orderList replaceObjectAtIndex:i withObject:OrderDetails];
break;
}
}
【问题讨论】:
-
如果上述方法有效,您为什么要为此使用 NSPredicate?
-
你不能用
NSPredicate替换对象,你可以简单地找到那个对象。 -
是的,我认为我们可以使用 NSPredicate 进行查找。所以我们可以跳过几行for循环。但是我认为for循环很好。
标签: ios objective-c iphone nsdictionary nspredicate