Как сохранить значение 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];