标签:数据持久化 ios extension user defaults
原创Blog,转载请注明
blog.csdn.net/hello_hwc
前言:iOS的数据持久化存储分为很多种
本文讲解NSUserDefaults的使用
大部分的时候使用StandardUserDefaults来保存数据,这是一个共享的UserDefaults,意味着在程序的任意一个地方访问到的都是同一个UserDefaults
写数据
swift代码
var userdefaults = NSUserDefaults.standardUserDefaults()
userdefaults.setBool(true, forKey: "KEYBOOL")
userdefaults.setObject("String", forKey: "KSTRING")
注意,上面的代码写入的数据,并不会立刻同步到文件里,而是保存在cache中,这样做提升速率(文件IO的效率很低)。如果要立刻同步
userdefaults.synchronize()
如果不是非常有必要同步到数据库里,建议不要每次写入都调用同步方法,因为相对来说,它实在是很慢。
读出数据
var str = userdefaults.objectForKey("KSTRING") as? String
var bool = userdefaults.boolForKey("KEYBOOL")
这样的UserDefaults是共享的,在以下两种情况下使用
如何使用-以extension为例
在contain app写入数据
OC代码
NSUserDefaults *shared = [[NSUserDefaults alloc]initWithSuiteName:@"group.yourcompanyname.yourappname"];
[shared setObject:your dic forKey:@"KDICFORWIDGET"];
[shared setObject:@"1234" forKey:@"KSTRINGFORWIDGET"];
[shared synchronize];
在extension读数据
NSUserDefaults *shared = [[NSUserDefaults alloc]initWithSuiteName:@"group.yourcompanyname.yourappname"];
NSMutableDictionary *dic = [shared objectForKey:@"KDICFORWIDGET"];
NSString *str = [shared objectForKey:@"KSTRINGFORWIDGET"]
标签:数据持久化 ios extension user defaults
原文地址:http://blog.csdn.net/hello_hwc/article/details/45308557