Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 从实用程序应用程序的FlipSideView返回时强制重新加载视图_Iphone_Objective C_Cocoa - Fatal编程技术网

Iphone 从实用程序应用程序的FlipSideView返回时强制重新加载视图

Iphone 从实用程序应用程序的FlipSideView返回时强制重新加载视图,iphone,objective-c,cocoa,Iphone,Objective C,Cocoa,我有一个适用于iPhone3.1.3的实用程序。我的主要观点很好。我切换到实用程序应用程序的flipside视图并更改一些设置。设置已更改,如何调用主视图中当前在viewDidLoad中获得的代码来刷新它 我是否创建了一个公共方法并从flipside视图的viewDidUnload方法调用它?我是否直接调用viewDidLoad?最好的方法是什么?首先,你不应该直接调用viewDidLoad。它可能不会引起任何问题,但最好只让底层API调用这样的方法。只需将一些视图初始化移到一个新方法中,如co

我有一个适用于iPhone3.1.3的实用程序。我的主要观点很好。我切换到实用程序应用程序的flipside视图并更改一些设置。设置已更改,如何调用主视图中当前在
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];
}