2012-06-13 91 views
1

我有一个应用程序,我有一个tabview控制器。所有数据都是动态的,当我在一个选项卡上输入数据时,数据会被加载,但如果我更改了选项卡并回到最初的选项卡,我还没有丢失数据,什么是真棒。我现在的问题是,我已经建立了一个新的viewcontroller(在标签之外),当我进入它,回到标签我失去了我所有的信息!IOS如何保留数据?

有没有办法保留初始数据?那么当用户转到另一个视图时,又回来了,不必丢失数据。

还有一个问题。无论如何,要定义可用于应用程序中每个视图控制器的变量?

回答

2

数据不会改变旅游标签

关于全局数据,你可以在你的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; 
+0

访问它们是当我从移动数据dont't变化一个标签到另一个标签,但是当我离开标签,到一个分离的viewcontroller ,我回来了,我失去了所有的数据:S 更具体地说,我有一个选项卡,我有一些照片的咚咚,我想为全屏照片做一个视图。当我以全屏方式回来时,我希望拥有以前所有的信息。 – 88fsantos

+0

您的viewcontroller已经大部分被释放,您将不得不将所有想要的数据保存到设备上,然后再加载它 –

1

这是什么一般数据?如果是对象,我会调用retain。但是,如果它是一种数据类型,请尝试使其成为静态并使其返回。或者你可以把它包装在一个对象中(例如NSNumber,如果它是一个float,double或int等),然后调用retain。当你从一个选项卡移动到另一个 您将需要检查,如果你有一些特殊的代码在你的viewWillAppear,如果您加载数据中此功能,您应该知道,viewWillAppear中被调用你的时候