【发布时间】:2011-12-08 06:59:22
【问题描述】:
我正在制作一个添加了设置的应用程序(nsuserdefaults)
问题出在我的主视图控制器中,我声明了用户默认值并获取其值。 但是,由于在用户进入设置并返回应用程序后不会调用 viewdidload。 我的设置没有更新。
我尝试在应用程序委托 applicationwillenterforeground 中声明用户默认值 但我将如何将消息传递给 mainviewcontroller。
应用委托中定义的变量在主视图控制器中无法识别。
更新:我已经声明
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
}
我在设置中有切换开关,它有标识符 enabled_preference 所以我写了
else
{
[PlaySound prepareToPlay];
[prefs setBool:YES forKey:@"enabled_preference"];
BOOL loop = [prefs boolForKey:@"enabled_preference"];
NSLog(@" %d",loop);
do {
[PlaySound play];
} while (loop ==YES);
它在控制台中记录 0 但是我在 plist 中将默认设置为 yes
【问题讨论】:
标签: iphone objective-c ios cocoa-touch