Как сохранить значение bool в KeychainItemWrapper

Я хочу сохранить значение bool в KeychainItemWrapper, как хранить?

Я пробовал этот код, но он дает мне ошибку.

 [keychain setObject:YES forKey:(__bridge BOOL)kSecAttrIsInvisible];

2 ответа

Решение

BOOL является примитивным типом и setObject:forKey: исключая только те классы, которые являются производными от NSObject,

Так что используйте NSNumber у него есть специальный метод для этого + numberWithBool::

[keychain setObject:[NSNumber numberWithBool:YES] forKey:@"someKey"];

И если вам нужно снова закипеть:

 NSNumber *value = [keychain objectForKey:@"someKey"];
 BOOL boolValue = [value boolValue];

Также вы можете использовать сокращение как

[keychain setObject:@(YES) forKey:(__bridge BOOL)kSecAttrIsInvisible];
Другие вопросы по тегам