从App Delegate访问另一个视图控制器IBOutlet

我有一个标签栏应用程序。其中一个控制器是一个“偏好页面”。我试图做的是从应用程序委托的applicationWillTerminate方法访问位于“首选项页面”控制器上的uiswitch ivar,但是我只获取默认的IUSwitch值。从App Delegate访问另一个视图控制器IBOutlet

下面是代码:

- (void)applicationWillTerminate:(UIApplication *)application { 

SettingsController *settings = [[SettingsController alloc] initWithNibName:@"SettingsView" bundle:nil]];

NSLog(@"settings preference value: %d", [settings isOn]);

}

回答:

这不会工作,因为你基本上是创建另一个实例新SettingsController的这当然不包括在原SettingsController将设置伊娃的参考。你需要做的是保存对原始SettingdController的引用,无论是在应用程序委托中还是在单例对象中。

Here's a good blog关于使用应用程序委托或单例方法来传递全局引用。我会亲自使用单例方法。

以上是 从App Delegate访问另一个视图控制器IBOutlet 的全部内容, 来源链接: utcz.com/qa/264926.html

回到顶部