怎么了。我正在尝试使用 a NSMutableDictionaryhere,checkNull如果未设置,则使用一些默认值初始化字典的方法。但是,iOS 模拟器在第一次遇到for-loop 时崩溃。
错误信息:
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对象。
我哪里错了?提前致谢