1
我有iPhone 4上運行的ios 7應用程序。我有一個奇怪的問題,因爲標題中的錯誤,應用程序在循環內部崩潰。我檢查了SO,它說當你改變你正在迭代的對象時發生錯誤。 所以我複製了我用於臨時變量的兩個變量,但問題仍然存在。 第一次迭代結束時發生問題。<__ NSCFDictionary:0x1557f400>被列舉時發生了變異。'
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableDictionary * badges = [defaults objectForKey:@"badges"];
NSMutableDictionary *newBadges = badges;
for(NSString* key in badges)
{
NSDictionary* badge = [badges objectForKey:key];
if([[badge objectForKey:@"achived"] isEqual: @"NO"])
{
if([self checkBadgeCondition:badge])
{
NSMutableDictionary *tempBadge = [badge mutableCopy];
[self showAlertBadge:badge];
[tempBadge setObject:@"YES" forKey:@"achived"];
[newBadges setObject:tempBadge forKey:[tempBadge objectForKey:@"name"]];
}
}
}
'checkBadgeCondition'裏面發生了什麼?另外,您可能想要轉換爲Objective-C 2.0語法。也就是說,[tempBadge setObject:@「YES」forKey:@「archived」]'可以簡化爲'tempBage [@「archived」] = @「YES」'。 –