好吧,我有点困惑。这可能只是一件琐碎的事情。
我有一个函数,看起来像这样:
- (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插入到字典中?
发布于 2010-01-21 17:30:44
NSDictionary中的值必须是对象。要解决此问题,请将布尔值包装在NSNumber对象中:
[parameters setValue:[NSNumber numberWithBool:news] forKey:@"news"];
[parameters setValue:[NSNumber numberWithBool:mails] forKey:@"mails"];发布于 2010-01-21 17:27:09
Objective-C容器只能存储Objective-C对象,因此您需要将BOOL包装在某个对象中。您可以使用[NSNumber numberWithBool]创建一个NSNumber对象并存储结果。
稍后,您可以使用NSNumber的-boolValue取回布尔值。
发布于 2015-03-09 22:46:26
可供参考的现代代码:
parameters[@"getNews"] = @(news);https://stackoverflow.com/questions/2108042
复制相似问题