我正在创建一个字典NSMutableDictionary* parameters = [[NSMutableDictionary alloc] init];
并希望将 0 分配给它作为有效的整数值,如下所示: parameters[@"size"] = 0;
但由于 nil/NULL
的值为 0,我收到以下警告:"Value stored into 'NSMutableDictionary' cannot be nil"
我该如何解决这个问题?
整数包装为带有@(0)
(或[NSNumber numberWithInteger:0]
)的NSNumber
。这会将整数值转换为可添加到NSMutableDictionary
或任何其他集合的对象。
只需确保在进行比较之前用NSInteger value = [wrappedNumber integerValue]
解开字典值即可。
免责声明:我个人发现括号包装数字更容易阅读,尽管它是可选的。
NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init];
parameters[@"size"] = @(0);
NSInteger sizeInt = [parameters[@"size"] integerValue];