问题
I want to store bool value in KeychainItemWrapper, how to store ?
I have tried this code, but it gives me error.
[keychain setObject:YES forKey:(__bridge BOOL)kSecAttrIsInvisible];
回答1:
The BOOL
is a primitive type and the setObject:forKey:
only excepts classes that derive from NSObject
.
So use NSNumber it has a special method for it + numberWithBool::
[keychain setObject:[NSNumber numberWithBool:YES] forKey:@"someKey"];
And if you need to bool again:
NSNumber *value = [keychain objectForKey:@"someKey"];
BOOL boolValue = [value boolValue];
回答2:
Also you can use Shorthand like
[keychain setObject:@(YES) forKey:(__bridge BOOL)kSecAttrIsInvisible];
来源:https://stackoverflow.com/questions/29369498/how-to-save-bool-value-in-keychainitemwrapper