插入 BOOL 的 Objective-C 字典 [英] Objective-C dictionary inserting a BOOL

查看:17
本文介绍了插入 BOOL 的 Objective-C 字典的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

OK, I'm a little confused. It's probably just a triviality.

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

I've got a function which looks something like this:

- (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: 都没有关系,我总是收到警告:

It doesn't matter whether I use setValue:forKey: or setObject:ForKey:, I'm always getting a warning:

传递 set 的参数 1... 使指针从整数而不进行强制转换"...

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

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

How on earth do I insert a bool into a dictionary?

推荐答案

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

Values in an NSDictionary must be objects. To solve this problem, wrap the booleans in NSNumber objects:

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

这篇关于插入 BOOL 的 Objective-C 字典的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆