我必须使用Boolean
在我的应用中将NSUserDefault
值保存到custom keyboard extension
并与App Group共享。
我的代码在iOS 8
Beta1。
self.defaults = [NSUserDefaults standardUserDefaults];
if([self.defaults boolForKey:@"BlackKey"])
{
NSLog(@"Black");
}
else
{
NSLog(@"White");
}
但不是iOS 8 Beta3。当我从Boolean
检索NSUserDefault
值时,它不返回任何内容,我无法从自定义键盘扩展程序加载。
我还尝试initWithSuiteName
中的NSUserDefault
。我只是那个问题或iOS 8 Beta3的错误吗?
答案 0 :(得分:2)
一些可能的解决方案是:
您的应用程序组设置不正确,或者您没有使用initWithSuiteName:
您尚未为键盘启用网络访问权限。当您为键盘禁用网络访问时,This document会声明以下内容(默认行为):
没有包含应用
的共享容器
这是一个错误。
答案 1 :(得分:-5)
尝试使用
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BlackKey"];
使用此代码保存并阅读时:
if([[NSUserDefaults standardUserDefaults] boolForKey:@"BlackKey"]) {
NSLog(@"Black");
}
else
{
NSLog(@"White");
}
或者如果你已经这样做了,那么它可能是bug,Xcode 6 beta版本也有其他错误,因此在Xcode 5或更早版本中尝试更安全。