将整数 0 添加为 NSDictionary 中的键值



我正在创建一个字典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];

最新更新