0
Whatup。我試圖在這裏使用NSMutableDictionary
,方法checkNull
用一些默認值初始化字典(如果未設置)。但是,iOS模擬器在for
-loop中遇到的第一次崩潰。動態初始化NSDisctionsary
錯誤消息:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber mutableCopyWithZone:]: unrecognized selector sent to instance
代碼:
+ (void)checkNull {
if ([[self defaults] valueForKey:@"channels"] == nil) {
NSNumber *defaultValue = [NSNumber numberWithBool:YES];
NSMutableDictionary *channels = [[NSMutableDictionary alloc] init];
for (NSString *channel in [self channelsList]) {
[channels setObject:[defaultValue mutableCopy] forKey:channel];
}
[[self defaults] setValue:channels forKey:@"channels"];
}
}
[self defaults]
返回[NSUserDefaults standardDefaults]
,而 [self channelsList]
返回一個NSArray
與約10 NSString
對象。
我哪裏錯了? 在此先感謝
這樣做。我想我誤解了'mutableCopy'的想法。謝謝。 –