UISwitch
ファイル内の複数のスイッチの状態を保存しようとしてきたgrocery.m
ので、ユーザーがアプリを終了しても、スイッチの状態はそのまま残ります。これは私がこれまで行ってきた方法ですが、運がありませんでした。grocery.m
問題はファイル内ではなく、ファイル内で行う必要があると思いますappDelegate.m
。誰かが私の間違いを教えていただければ幸いです。ありがとう!
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
push.switchstore1.on = [defaults boolForKey: @"mySwitch1"];
push.switchstore2.on = [defaults boolForKey: @"mySwitch2"];
push.switchstore3.on = [defaults boolForKey: @"mySwitch3"];
UIApplication *app = [UIApplication sharedApplication];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillTerminate:) name:UIApplicationWillTerminateNotification object:app]; //Listener
}
- (void)applicationWillTerminate:(UIApplication *)application {
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool: push.store1.on forKey: @"mySwitch1"];
[defaults setBool: push.store2.on forKey: @"mySwitch2"];
[defaults setBool: push.store3.on forKey: @"mySwitch3"];
[[NSUserDefaults standardUserDefaults] synchronize];
[self saveContext]; //Already in the method by default
}
GROCERY.M 内
-(void) viewDidLoad
{
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
switchStore1.on = [defaults boolForKey: @"mySwitch1"];
switchStore2.on = [defaults boolForKey: @"mySwitch2"];
switchStore3.on = [defaults boolForKey: @"mySwitch3"];
}
delegate.h に追加されたものを編集します (プロパティは .m にも合成されています)
groceryViewController *push;
@property (nonatomic, retain) groceryViewController *push;