Objective c 将REST调用延迟到用户向模式视图输入登录信息之后的最佳方法

Objective c 将REST调用延迟到用户向模式视图输入登录信息之后的最佳方法,objective-c,cocoa-touch,ios,modalviewcontroller,Objective C,Cocoa Touch,Ios,Modalviewcontroller,在用户进入主视图之前,我的应用程序有一个登录屏幕。如果用户尚未登录,我将执行一个presentModalViewController:。在我的主视图的viewDidLoad:中,我调用了一个RESTAPI,它需要用户的用户名和密码。现在,如果用户已经登录,那么这就可以了 问题是,即使显示了login视图,login视图后面的这个主视图仍然在调用restapi,尽管在模式视图被取消之前它不应该调用restapi。那么,解决这个问题的最佳方法是什么?将API调用放入视图将显示:?代表?走代表路线。在

在用户进入主视图之前,我的应用程序有一个登录屏幕。如果用户尚未登录,我将执行一个
presentModalViewController:
。在我的主视图的
viewDidLoad:
中,我调用了一个RESTAPI,它需要用户的用户名和密码。现在,如果用户已经登录,那么这就可以了


问题是,即使显示了login视图,login视图后面的这个主视图仍然在调用restapi,尽管在模式视图被取消之前它不应该调用restapi。那么,解决这个问题的最佳方法是什么?将API调用放入
视图将显示:
?代表?

走代表路线。在视图中实现代码将出现:将导致代码执行多次,而如果使用委托,则只会调用一次代码。

按委托路线执行。在视图中实现代码将出现:将导致代码被执行多次,而如果使用委托,则只会调用一次代码。

viewwillbeen
,而
viewdide
将在
viewdideload
之后被调用

您可以使用委托。登录控制器可以向其代理发出类似于
-(void)loginController:(LoginViewController*)controller didLogin的回调


您可以在这里调用REST API。

视图将出现
,而
视图显示
将在
视图加载
之后被调用

您可以使用委托。登录控制器可以向其代理发出类似于
-(void)loginController:(LoginViewController*)controller didLogin的回调


在这里,您可以调用RESTAPI。

您确定这是声明委托的正确方法吗?您不需要在didLogin之后使用变量吗?您确定这是声明委托的正确方法吗?登录后不需要变量吗?