Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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
Ios 按特定顺序加载视图_Ios_Objective C - Fatal编程技术网

Ios 按特定顺序加载视图

Ios 按特定顺序加载视图,ios,objective-c,Ios,Objective C,我有一个特定的方式,我希望加载视图并让它们做一些事情。在我的didFinishLaunchingWithOptions中,我加载窗口: [[self window] makeKeyAndVisible]; 现在在视图控制器中,我需要询问用户的位置,但不是立即询问。我在视图控制器中有一个执行此操作的通知观察者。我使用通知中心来做这件事。在我的AppDelegate中,我在didFinishLaunchingWithOptions中发布了一个通知 我的问题是,如果我在视图控制器的内部awakeFr

我有一个特定的方式,我希望加载视图并让它们做一些事情。在我的didFinishLaunchingWithOptions中,我加载窗口:

[[self window] makeKeyAndVisible];
现在在视图控制器中,我需要询问用户的位置,但不是立即询问。我在视图控制器中有一个执行此操作的通知观察者。我使用通知中心来做这件事。在我的AppDelegate中,我在didFinishLaunchingWithOptions中发布了一个通知


我的问题是,如果我在视图控制器的内部awakeFromNib方法中添加了一个观察者,那么在发布通知时,是否仍会从didfishlaunchingwithoptions方法调用它?我确实会先调用[[self window]makeKeyAndVisible],然后发布通知。我担心的是,如果awakeFromNib调用得不够早,并且观察者没有注册,我会发布一个通知。这将破坏用户的体验。

视图控制器中包含需要通知才能工作的行为将是一个持续存在的问题。iOS可能会选择卸载视图控制器,这将破坏系统

我的建议是使用一个持久数据对象来处理这些通知。应用程序委托可以更新数据对象,视图控制器可以读取数据对象,但不需要任何特定的加载顺序