IOS如何保留数据?

IOS如何保留数据?,ios,uitabbarcontroller,Ios,Uitabbarcontroller,我有一个应用程序,其中我有一个tabview控制器。所有的数据都是动态的,当我在一个选项卡上输入时,数据被加载,但是如果我更改了我的选项卡并返回到初始选项卡,我没有丢失其中的数据,这太棒了。我现在的问题是,我已经构建了一个新的viewcontroller(在选项卡之外),当我进入它并返回到选项卡时,我已经丢失了所有信息 有没有办法保留初始数据?因此,当用户转到另一个视图并返回时,不必丢失数据 还有一个问题。无论如何,是否要定义应用程序中每个viewcontroller可用的变量?这是什么常规数据

我有一个应用程序,其中我有一个tabview控制器。所有的数据都是动态的,当我在一个选项卡上输入时,数据被加载,但是如果我更改了我的选项卡并返回到初始选项卡,我没有丢失其中的数据,这太棒了。我现在的问题是,我已经构建了一个新的viewcontroller(在选项卡之外),当我进入它并返回到选项卡时,我已经丢失了所有信息

有没有办法保留初始数据?因此,当用户转到另一个视图并返回时,不必丢失数据


还有一个问题。无论如何,是否要定义应用程序中每个viewcontroller可用的变量?

这是什么常规数据?如果是对象,我会调用retain。但是,如果它是一个数据类型,请尝试使其成为静态的,并使一个方法返回它。或者您可以将其包装在一个对象中(例如NSNumber,如果它是浮点、双精度或整数等),然后调用retain。当您从一个选项卡移动到另一个选项卡时,数据不会更改 您需要检查您的
视图中是否有一些特殊代码将出现
,如果您在该函数中加载数据,您应该知道在您旅行选项卡时将调用ViewWillDisplay

关于全局数据,您可以在appDelegate类中定义它们,向appDelegate添加属性,然后像这样访问它们

//Add this on the header of your class
#import "MyAppDelegate.h"

//Then access the delegate like this
MyAppDelegate *myAppDelegate = [UIApplication sharedApplication].delegate;
//Access your variables
myAppDelegate.myVariables;

是的,当我从一个选项卡移动到另一个选项卡时,数据不会改变,但是当我离开选项卡,到一个单独的viewcontroller,然后我回来时,我丢失了所有的数据:更具体地说,我有一个选项卡,其中有一些照片的重击,我想对这些照片进行全屏查看。当我从全屏返回时,我想拥有我以前拥有的所有inf。您的viewcontroller已被解除分配,您必须将所有需要的数据保存到设备上的文件中,然后稍后再加载