如何在KeychainItemWrapper中保存bool值

我想在KeychainItemWrapper中存储bool值,如何存储?

我试过这段代码,但它给了我错误。

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

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];