iPhone ViewController加载为UIModal和UINavigation - 如何区分

时间:2011-02-25 22:40:38

标签: iphone uinavigationcontroller modalviewcontroller

也许有人可以给我一个指针。我有一个UIViewController作为UIModalViewController提供,并通过UINavigationController - 推送到视图堆栈,具体取决于用户启动视图的位置来自应用内部。我想根据用户加载视图的方式加载两个不同的HTTP请求,因此我需要viewDidLoad中的条件来确定视图的来源以便调用正确的请求。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你已经到了一半了。我建议您在代码中使用各种位置来创建视图控制器,在创建时或创建后使用一些有关其所需行为的信息来配置它 - 例如,配置哪个URL,而不是您的UIViewController知道它是如何启动的。应该下载。然后,在viewDidLoad或视图控制器的其他位置,您可以根据UIViewController的配置方式执行正确的操作。

因此,作为一个可靠的示例,让VC的init方法将所需的URL作为参数(或将其设置为属性)。然后在viewDidLoad中(或者你喜欢的任何地方)你的VC可以做正确的事情,而不会被“污染”它不应该真正关心的细节(例如它如何被推到UI等)。