Ios ViewDidLoad在导航时只调用一次
我有viewcontroller。我在appdelegate.m文件中创建了它的对象,因为我想在poptoviewcontroller方法中使用该viewcontroller。现在,一旦我在appdelegate文件中创建了它的对象,当我按下viewcontroller时,它只调用viewdidload 1次。但从第二次开始,它并没有调用viewdidload。每次控制器加载时,我都要加载一些组件。怎么办??是否有其他方法可以在popToViewController方法中使用viewcontroller而不在appdelegate.m文件中创建其对象 我有4个视图控制器A、B、C、D。Ios ViewDidLoad在导航时只调用一次,ios,iphone,ios7,uinavigationcontroller,appdelegate,Ios,Iphone,Ios7,Uinavigationcontroller,Appdelegate,我有viewcontroller。我在appdelegate.m文件中创建了它的对象,因为我想在poptoviewcontroller方法中使用该viewcontroller。现在,一旦我在appdelegate文件中创建了它的对象,当我按下viewcontroller时,它只调用viewdidload 1次。但从第二次开始,它并没有调用viewdidload。每次控制器加载时,我都要加载一些组件。怎么办??是否有其他方法可以在popToViewController方法中使用viewcontro
我正在从A导航到B。B中有一些组件正在viewdidLoad中加载。现在从A流到B流,我从组件的服务器获取值。现在,如果用户想要改变值,他将从B重定向到C来改变B组件的值。有时他会重定向到D,从D到B,用B分量值。现在,如果我将在viewwillbeen中编写我的B代码,那么当我从C返回B时,它将加载我在从A导航到B时得到的值。您可以使用
viewwillbeen
或viewdidebeen
(最后一个在第一个之后调用)。ViewDidLoad仅在构造ViewController时调用。然后,由于您让它存在于导航堆栈中,因此不再调用它
有关更多信息,请遵循以下内容
编辑
随着你的编辑,整个问题变得不同了。如果希望每次显示ViewController时都调用代理,则答案是视图将出现
或视图显示
在我看来,你把事情复杂化了。据我所知,您正在更改AppDelegate中的B?如果是这样的话,我看不出B有任何问题,当您从C来时,B有一个以前的状态,并且在视图中更新您的状态将出现。如果您在AppDelegate中有指向B的某种指针,并且您对其进行了更改,那么ViewWillDisplay应该不会有任何问题
对于您的问题,您可以有几种解决方案,这完全取决于您的具体情况,但我建议您更好地分离模型。您可以创建一个保存B数据的单例,并在视图中显示该数据。然后C和D只对该单例执行更改。您可以使用viewwillbeen
或viewdidebeen
(最后一个在第一个之后调用)。ViewDidLoad仅在构造ViewController时调用。然后,由于您让它存在于导航堆栈中,因此不再调用它
有关更多信息,请遵循以下内容
编辑
随着你的编辑,整个问题变得不同了。如果希望每次显示ViewController时都调用代理,则答案是视图将出现
或视图显示
在我看来,你把事情复杂化了。据我所知,您正在更改AppDelegate中的B?如果是这样的话,我看不出B有任何问题,当您从C来时,B有一个以前的状态,并且在视图中更新您的状态将出现。如果您在AppDelegate中有指向B的某种指针,并且您对其进行了更改,那么ViewWillDisplay应该不会有任何问题
对于您的问题,您可以有几种解决方案,这完全取决于您的具体情况,但我建议您更好地分离模型。您可以创建一个保存B数据的单例,并在视图中显示该数据。然后C和D只对该单例执行更改。您可以使用viewwillbeen
或viewdidebeen
(最后一个在第一个之后调用)。ViewDidLoad仅在构造ViewController时调用。然后,由于您让它存在于导航堆栈中,因此不再调用它
有关更多信息,请遵循以下内容
编辑
随着你的编辑,整个问题变得不同了。如果希望每次显示ViewController时都调用代理,则答案是视图将出现
或视图显示
在我看来,你把事情复杂化了。据我所知,您正在更改AppDelegate中的B?如果是这样的话,我看不出B有任何问题,当您从C来时,B有一个以前的状态,并且在视图中更新您的状态将出现。如果您在AppDelegate中有指向B的某种指针,并且您对其进行了更改,那么ViewWillDisplay应该不会有任何问题
对于您的问题,您可以有几种解决方案,这完全取决于您的具体情况,但我建议您更好地分离模型。您可以创建一个保存B数据的单例,并在视图中显示该数据。然后C和D只对该单例执行更改。您可以使用viewwillbeen
或viewdidebeen
(最后一个在第一个之后调用)。ViewDidLoad仅在构造ViewController时调用。然后,由于您让它存在于导航堆栈中,因此不再调用它
有关更多信息,请遵循以下内容
编辑
随着你的编辑,整个问题变得不同了。如果希望每次显示ViewController时都调用代理,则答案是视图将出现
或视图显示
在我看来,你把事情复杂化了。据我所知,您正在更改AppDelegate中的B?如果是这样的话,我看不出B有任何问题,当您从C来时,B有一个以前的状态,并且在视图中更新您的状态将出现。如果您在AppDelegate中有指向B的某种指针,并且您对其进行了更改,那么ViewWillDisplay应该不会有任何问题
对于你的问题,你可以有几种解决方案,这一切都取决于