Iphone 从实用程序应用程序的FlipSideView返回时强制重新加载视图
我有一个适用于iPhone3.1.3的实用程序。我的主要观点很好。我切换到实用程序应用程序的flipside视图并更改一些设置。设置已更改,如何调用主视图中当前在Iphone 从实用程序应用程序的FlipSideView返回时强制重新加载视图,iphone,objective-c,cocoa,Iphone,Objective C,Cocoa,我有一个适用于iPhone3.1.3的实用程序。我的主要观点很好。我切换到实用程序应用程序的flipside视图并更改一些设置。设置已更改,如何调用主视图中当前在viewDidLoad中获得的代码来刷新它 我是否创建了一个公共方法并从flipside视图的viewDidUnload方法调用它?我是否直接调用viewDidLoad?最好的方法是什么?首先,你不应该直接调用viewDidLoad。它可能不会引起任何问题,但最好只让底层API调用这样的方法。只需将一些视图初始化移到一个新方法中,如co
viewDidLoad
中获得的代码来刷新它
我是否创建了一个公共方法并从flipside视图的viewDidUnload方法调用它?我是否直接调用
viewDidLoad
?最好的方法是什么?首先,你不应该直接调用viewDidLoad
。它可能不会引起任何问题,但最好只让底层API调用这样的方法。只需将一些视图初始化移到一个新方法中,如configureViewForSettings
或类似的方法
最好的办法是使用授权。当您需要向“父”视图发回某种数据或通知时,这是最合适的。使用类似于settingsViewChangedSettings:(MySettingsView*)setingsview
的方法创建新协议MySettingsViewDelegate
。然后在设置视图控制器上添加一个id委托
属性
当设置更改时,按如下方式调用委托方法:
[self.delegate settingsViewChangedSettings:self];
在主视图控制器中,创建/显示设置视图时,将自己设置为代理
mySettingsView.delegate = self;
/* Display the settings view */
然后在某个地方:
- (void)settingsViewChangedSettings:(MySettingsView *)settingsView {
/* Settings changed, refresh your view */
[self configureViewForSettings];
}