首页 > 代码库 > 【OC学习-30】NSUserDefaults把数据存储在本地的一种方式
【OC学习-30】NSUserDefaults把数据存储在本地的一种方式
我们先创建一个NSUserDefaults对象(其实类似于一个字典),然后把数据写入到这个对象中,然后把这个对象里面的数据保存在本地。然后我们把这些代码删除掉,重新创建一个对象来调用在本地的数据,看是否能调出,如果能,说明之前已经成功把数据本地化了。
(1)我们创建一个空的application。
(2)把AppDelegate.m下面的那些函数都删除掉。在第一个函数里面补充如下代码,然后点击运行。
#import "AppDelegate.h" @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; //以下是新添加的代码 NSArray *arr1=@[@"111",@"222"]; NSUserDefaults *userDef=[NSUserDefaults standardUserDefaults];//这个对象其实类似字典,着也是一个单例的例子 [userDef setObject:arr1 forKey:@"array"]; [userDef setInteger:123 forKey:@"number"]; [userDef synchronize];//把数据同步到本地 return YES; } @end
(3)把上面代码删除,然后添加如下代码,点击运行。
#import "AppDelegate.h" @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; //以下是新增代码 //看数据是否已经在本地,即注销上述语句,在本地调用数据 NSUserDefaults *userDefault=[NSUserDefaults standardUserDefaults]; NSInteger *num1=[userDefault integerForKey:@"number"]; NSArray *arr2=[userDefault objectForKey:@"array"]; NSLog(@"%d,%@",num1,arr2); return YES; } @end
(4)运行结果:
123,( 111, 222 )
我们把第一次添加的代码已经删除后,第二次代码运行时还能调出数据,说明数据已经存储在本地了。
(5)其实这个数据应该保存在一个.plist为后缀的文件中,可惜没找到这个文件,或者是找到了,但是没看到数据,亦可能是已经保存了源文件了,可能就没必要单独创建个新文件保存了,这个做项目的时候以后再慢慢找。
【OC学习-30】NSUserDefaults把数据存储在本地的一种方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。