cómo insert un (BOOL *) en NSMutableDictionary

Estoy tratando de save un valor de database booleana en un map de la siguiente manera:

[recentTags setValue:[NSNumber numberWithBool:[aMessage isSet]] forKey:[aMessage tagName]]; 

Me da un error que dice "Puntero incompatible a la conversión de integer que envía BOOL * también conocido como char * a 'BOOL' también conocido como char"

¿Cómo insert un BOOL * en el dictionary?

Envuelva el BOOL en un NSNumber :

 NSNumber *boolNumber = [NSNumber numberWithBool:YES]; 

Para sacarlo:

 BOOL b = [boolNumber boolValue]; 

Puede ajustar otros types de objects (como un puntero o una estructura) en un NSValue .


EDIT: Suponiendo que realmente quieras decir un BOOL * (puntero):

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

Su método isSet debería tener la siguiente firma: - (BOOL)isSet;

Suponiendo que ese sea el caso, no debería haber ningún problema al usar NSNumber como lo menciona titaniumdecoy.

Su última frase me intriga, BOOL * . Seguramente te refieres a BOOL , si necesitas absolutamente una reference booleana, entonces te sugiero que almacenes el BOOL inicial / real en un NSNumber y almacene las references que objetan donde lo necesites (es decir, tu NSMutableDictionary).