首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Objective-C字典插入BOOL

Objective-C字典插入BOOL
EN

Stack Overflow用户
提问于 2010-01-21 17:17:25
回答 6查看 63.5K关注 0票数 69

好吧,我有点困惑。这可能只是一件琐碎的事情。

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

代码语言:javascript
复制
- (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:,我总是收到一个警告:

“传递set的参数1...使指针从整数开始,而不进行强制转换”...

我到底如何将bool插入到字典中?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-01-21 17:30:44

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

代码语言:javascript
复制
[parameters setValue:[NSNumber numberWithBool:news] forKey:@"news"];
[parameters setValue:[NSNumber numberWithBool:mails] forKey:@"mails"];
票数 132
EN

Stack Overflow用户

发布于 2010-01-21 17:27:09

Objective-C容器只能存储Objective-C对象,因此您需要将BOOL包装在某个对象中。您可以使用[NSNumber numberWithBool]创建一个NSNumber对象并存储结果。

稍后,您可以使用NSNumber的-boolValue取回布尔值。

票数 14
EN

Stack Overflow用户

发布于 2015-03-09 22:46:26

可供参考的现代代码:

代码语言:javascript
复制
parameters[@"getNews"] = @(news);
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2108042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档