从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