iPhone-解析NSMutableArray以删除对象
||
我有一个对UserDefaults起作用的对象。
它将内容添加到用户默认值的数组中,然后在发生某些事件时将其删除。
该对象可以有多个实例。
来自不同对象实例的那些调用似乎发生冲突并产生崩溃:
*** Terminating app due to uncaught exception \'NSGenericException\', reason: \'*** Collection <__NSCFArray: 0x66061e0> was mutated while being enumerated.<CFArray 0x66061e0 [0xe38400]>{type = mutable-small, count = 3, values = (
我这样删除我的物品:
// ==========================================================================================================
- (void) deleteSavedItem:(NSString*)keycodeToDelete
// ==========================================================================================================
{
NSMutableArray* savedItems = [[self loadAllSavedItems] mutableCopy];
for (NSDictionary* dict in savedItems) {
NSString* keycode = [dict objectForKey:@\"keycode\"];
if ([keycode isEqualToString:keycodeToDelete])
[savedItems removeObject:dict];
}
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue:savedItems forKey:@\"savedItems\"];
[defaults synchronize];
[savedItems release];
}
// ==========================================================================================================
- (NSArray*) loadAllSavedItems
// ==========================================================================================================
{
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSArray* savedItems = [defaults arrayForKey:@\"savedItems\"];
if (savedItems == nil) savedItems = [NSArray array];
return savedItems;
}
我如何在不冲突的情况下从该数组添加/删除内容?
我不确定原因是许多使用默认值的对象导致此崩溃。我也怀疑这是我解析数组的方式。
我需要保留我的对象实例,并使它们并行运行。
没有找到相关结果
已邀请:
3 个回复
物崎巩
然后使用删除它们,
修改后的“ 4”将是。
卧沫
殿虫