插入 BOOL 的 Objective-C 字典

标签 objective-c dictionary boolean

好吧,我有点困惑。 这可能只是一件小事。

我有一个看起来像这样的函数:

- (void)getNumbersForNews:(BOOL)news andMails:(BOOL)mails {
NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init];
[parameters setValue:news  forKey:@"getNews"];
[parameters setValue:mails forKey:@"getMails"];...}

无论我使用 setValue:forKey: 还是 setObject:ForKey: 都没有关系,我总是收到警告:

"Passing argument 1 of set... makes pointer from integer without a cast"...

我到底如何在字典中插入一个 boolean 值?

最佳答案

NSDictionary 中的值必须是对象。要解决此问题,请将 boolean 值包装在 NSNumber 对象中:

[parameters setValue:[NSNumber numberWithBool:news] forKey:@"news"];
[parameters setValue:[NSNumber numberWithBool:mails] forKey:@"mails"];

关于插入 BOOL 的 Objective-C 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2108042/

相关文章:

objective-c - 没有网络/互联网时将文档保存到 iCloud

ios - 临时推送通知不发送 iphone 通知

ios - 如何使用 CoreGrahpics 和 Core 动画绘制文本

ios swift CMutableVoidPointer 在 observeValueForKeyPath 中无法识别

python - 如何在 python 列表中查找彼此相邻的重复项并根据它们的索引列出它们?

arrays - 如何以最轻的大小在文件中存储大量 boolean 值?

python - 在 excel 文件中写入字典值

java - 如何从 Hashtable<Integer,Hashtable<String,Integer>> h 获取值

javascript - boolean 运算符如何工作 ||

python - 如何在没有迭代的情况下基于 Pandas 中的 2+ 个条件创建一个新的 df.column?