Iphone UIViewController和UIAbbarController应用程序-viewDidLoad仅调用一次

Iphone UIViewController和UIAbbarController应用程序-viewDidLoad仅调用一次,iphone,objective-c,cocoa-touch,uikit,uiviewcontroller,Iphone,Objective C,Cocoa Touch,Uikit,Uiviewcontroller,我当前的应用程序由一个带有4个不同选项卡的UIAbbarController和一个UIViewController组成。我的tabBarController是rootController,UIViewController主要用于我的用户登录视图。当应用程序加载这两个视图时,登录视图将覆盖选项卡栏 我为loginViewController的viewDidLoad方法添加了一些日志记录。我看到这个方法在初始启动时被调用。一旦用户成功登录,现在就可以查看tabBarController视图。我设置了

我当前的应用程序由一个带有4个不同选项卡的UIAbbarController和一个UIViewController组成。我的tabBarController是rootController,UIViewController主要用于我的用户登录视图。当应用程序加载这两个视图时,登录视图将覆盖选项卡栏

我为loginViewController的viewDidLoad方法添加了一些日志记录。我看到这个方法在初始启动时被调用。一旦用户成功登录,现在就可以查看tabBarController视图。我设置了一个从tabBarController注销的操作。此方法将user/pass设置为nil,并调用委托方法再次加载我的loginView

-(无效)setLoginView { [窗口添加子视图:loginController.view];
}

我添加了一些检查,但没有触发任何操作,因为viewDidLoad(在loginViewController.m中)再也不会被调用。注销时,我的文本字段仍具有我首次登录时输入的用户/密码。因此,我的一项检查是将文本字段重置为nil等

我可能在这里使用了错误的术语,但是是否有必要“刷新”这个loginController,每次用户注销时都会调用viewDidLoad方法

也记录在案。我非常感谢所有帮助我回答之前问题的人。这真的很有帮助,我很感激


谢谢

可能尝试使用
-(void)view将出现:(BOOL)animated{…}
而不是viewDidLoad?

可能尝试使用
-(void)view将出现:(BOOL)animated{…}
而不是viewDidLoad?

viewDidLoad
在视图初始化时,每次只调用一次。我不确定执行
loginController.view=nil
是否会导致视图卸载,但是我认为它应该可以工作,所以下次您访问
视图
属性时,视图将再次加载。

视图加载
在视图初始化时,每次只调用一次。我不确定是否执行
loginController.view=nil
会导致视图卸载,但是我认为它应该可以工作,所以下次访问
视图
属性时,视图将再次加载。

我将此添加到我的setLoginView方法中-(void)setLoginView{[window addSubview:loginController.view];[loginController viewDidLoad];}我现在看到我的日志,调用viewDidLoad方法。可接受的做法?嗯。我想这可能不是“传统”的做法,但如果行得通,就行了3我不想养成任何“坏习惯”,所以如果有更合适的方法,我希望得到反馈。认真考虑你的建议,这正是我需要的。再次感谢。我将此添加到我的setLoginView方法中-(void)setLoginView{[window addSubview:loginController.view];[loginController viewDidLoad];}我现在看到我的日志,调用viewDidLoad方法。可接受的做法?嗯。我想这可能不是“传统”的做法,但如果行得通,就行了3我不想养成任何“坏习惯”,所以如果有更合适的方法,我希望得到反馈。认真考虑你的建议,这正是我需要的。再次感谢。