NSUserDefault仅在iOS8中的键盘扩展中工作一次

时间:2014-06-22 16:00:14

标签: nsuserdefaults ios8 ios-app-extension

我有一个选项,允许用户选择Keyboard的背景颜色,键盘扩展名为XCode beta 1。

我可以从NSUserDefault保存并加载。但只有一次。之后我改变了两次值并使用UITextField进行测试(即使iOS内置应用程序)。它没有工作,也没有改变背景颜色。

然而,当我退出应用程序并重新打开时,该更改的值正在运行且背景颜色正在发生变化。

以下是我将数据保存到NSUserDefault的代码。

self.defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.mycompany.keyboard"];

- (void)savePreferences
{
    [self.defaults setBool:self.redColorSwitch.on forKey:@"redColor"];

    [self.defaults synchronize];
}

和加载代码是

self.defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.mycompany.keyboard"];

if([self.defaults boolForKey:@"redColor"])
    {
        self.myKeyboard.backgroundColor = [UIColor redColor];
    }

    else
    {
        self.myKeyboard.backgroundColor = [UIColor blackColor];
    }

我的代码有什么问题吗?

0 个答案:

没有答案