存储多个视图控制器共有的数据

时间:2013-03-04 08:00:13

标签: iphone ios objective-c core-data

我知道有很多方法可以存储数据,例如属性列表,存档等。但除此之外还有其他任何方式来存储非常少量的数据,这对于不同的视图控制器是常见的(如存储所有数据)?。

6 个答案:

答案 0 :(得分:2)

试试这个

NSUserDefaults的

when you want to save small amounts of data such as High Scores, Login Information, and program state.

保存

NSUserDefaults * prefs = [NSUserDefaults standardUserDefaults];

//保存NSString [prefs setObject:@“TextToSave”forKey:@“keyToLookupString”];

//保存NSInteger [prefs setInteger:42 forKey:@“integerKey”];

//保存一个Double [prefs setDouble:3.1415 forKey:@“doubleKey”];

//保存Float [prefs setFloat:1.2345678 forKey:@“floatKey”];

[prefs synchronize];

检索

NSUserDefaults * prefs = [NSUserDefaults standardUserDefaults];

//获取NSString NSString * myString = [prefs stringForKey:@“keyToLookupString”];

//获取NSInteger NSInteger myInt = [prefs integerForKey:@“integerKey”];

//获得Float float myFloat = [prefs floatForKey:@“floatKey”];

答案 1 :(得分:2)

我们可以通过创建单例类和共享实例

来实现

答案 2 :(得分:1)

是的,您可以以数组的形式定义必填字段。现在确保表单将为您提供一个标识,并通过会话等进行一些验证。一个钩子,您的控制器每次使用特定标志(隐藏)感知表单提交。因此,将为此函数提供tablename和CRUD指令,并且每个常见的CRUD功能将由此单个函数处理。通过定义必填字段,您可以忽略输入按钮和许多隐藏字段等额外字段。

答案 3 :(得分:1)

使用NSUserDefault存储值。

答案 4 :(得分:0)

是的,你可以用NSMutableArray或NSMutableDictionary的形式声明,并访问任何Viewcontrollers。您需要在

中创建一个NSObject类的文件

·H

+(NSMutableDictionary *)ImageCollection;
<。>文件中的

+(NSMutableDictionary *)ImageCollection
{
static NSMutableDictionary *thestring =nil;

@synchronized([Global class]) // in a single threaded app you can omit the sync block
{

    if (thestring ==nil) {
        thestring=[[NSMutableDictionary alloc]init];
    }
}
return thestring;

}

在任何View Controllers中都包含NSObject类文件

  [[Global ImageCollection]setObject:@"Sample" forKey:@"Dictionary"];  //just example you can save string,image,array anything as you like

希望这有帮助.. !!!

答案 5 :(得分:0)

使用共享内存,在视图之间存储和共享公共数据。