我有一个标签栏应用。其中一个控制器是“首选项页面”。我想要做的是从app delegate的applicationWillTerminate方法访问位于“首选项页面”控制器上的uiswitch ivar,但是我只获取默认的IUSwitch值。
以下是代码:
- (void)applicationWillTerminate:(UIApplication *)application {
SettingsController *settings = [[SettingsController alloc] initWithNibName:@"SettingsView" bundle:nil]];
NSLog(@"settings preference value: %d", [settings isOn]);
}
答案 0 :(得分:0)
这不会起作用,因为你实际上是在创建另一个新的SettingsController实例,当然它不会包含对原始SettingsController中设置ivar的引用。你需要做的是在appwhere委托或单个对象中保存对原始SettingdController的引用。
Here's a good blog使用app delegate或singleton方法传递全局引用。我个人会使用单例方法。