gpt4 book ai didi

ios - 使用 NSPredicate 替换 Array 中的 Dictionary 对象

转载 作者:行者123 更新时间:2023-11-28 21:15:29 25 4
gpt4 key购买 nike

我在数组中有一个字典对象。

我想用新字典替换这个对象。

两者具有相同的 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 *resultPredicate = [NSPredicate
predicateWithFormat:@"SELF.order_id contains[cd] %@",OrderDetails[@"order_id"]];
NSMutableArray *arrOrders = [[NSMutableArray alloc]init];
[arrOrders addObjectsFromArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"Orders"]];

NSArray *filteredOrder = [arrOrders filteredArrayUsingPredicate:resultPredicate];

if ([filteredOrder count] > 0) {
NSUInteger index = [arrOrders indexOfObject:[filteredOrder objectAtIndex:0]];
if (index != NSNotFound) {
[arrOrders replaceObjectAtIndex:index withObject:OrderDetails];
}
}

关于ios - 使用 NSPredicate 替换 Array 中的 Dictionary 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41392174/

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