ios – 如何将(BOOL *)插入到NSMutableDictionary中

我正在尝试将布尔数据库值保存到地图中,如下所示:
[recentTags setValue:[NSNumber numberWithBool:[aMessage isSet]] forKey:[aMessage tagName]];

它给我一个错误说“不兼容的指针整数转换发送BOOL * aka signed char * to’BOOL’aka signed char”

如何在字典中插入BOOL *?

解决方法

将BOOL换成 NSNumber
NSNumber *boolNumber = [NSNumber numberWithBool:YES];

要得到它:

BOOL b = [boolNumber boolValue];

您可以在NSValue中包装其他非对象类型(如指针或结构体).

编辑:假设你真的是一个BOOL *(指针):

NSValue *boolValue = [NSValue value:pointerToBool withObjCType:@encode(BOOL*)];
BOOL *b = [boolValue pointerValue];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...