从App Delegate访问另一个View Controller IBOutlet

时间:2010-01-04 03:25:51

标签: iphone uiview

我有一个标签栏应用。其中一个控制器是“首选项页面”。我想要做的是从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]);
}

1 个答案:

答案 0 :(得分:0)

这不会起作用,因为你实际上是在创建另一个新的SettingsController实例,当然它不会包含对原始SettingsController中设置ivar的引用。你需要做的是在appwhere委托或单个对象中保存对原始SettingdController的引用。

Here's a good blog使用app delegate或singleton方法传递全局引用。我个人会使用单例方法。