我正在尝试将布尔数据库值保存到地图中,如下所示:
[recentTags setValue:[NSNumber numberWithBool:[aMessage isSet]] forKey:[aMessage tagName]];@H_502_4@它给我一个错误说“不兼容的指针整数转换发送BOOL * aka signed char * to’BOOL’aka signed char” @H_502_4@如何在字典中插入BOOL *? @H_404_8@
解决方法
将BOOL换成
NSNumber:
NSNumber *boolNumber = [NSNumber numberWithBool:YES];@H_502_4@要得到它:
BOOL b = [boolNumber boolValue];@H_502_4@您可以在NSValue中包装其他非对象类型(如指针或结构体). @H_502_4@编辑:假设你真的是一个BOOL *(指针):
NSValue *boolValue = [NSValue value:pointerToBool withObjCType:@encode(BOOL*)]; BOOL *b = [boolValue pointerValue];@H_404_8@ @H_404_8@