天天看点

数据持久化之preference

preference(偏好设置)是数据持久化的几个方法中最简单的一个,常用于保存少量数据

代码如下:

//
//  ViewController.m
//  preference(利用偏好设置保存数据)
//
//  Created by Rio.King on 13-9-22.
//  Copyright (c) 2013年 Rio.King. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	[self save];
    [self read];
}

#pragma mark 保存
-(void)save{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:@"chaoyuan" forKey:@"username"];
    [defaults setFloat:18.6 forKey:@"text_size"];
    [defaults setBool:YES forKey:@"auto_login"];
    
    //强制数据保存
    [defaults synchronize];
}

#pragma mark 读取
-(void)read{
    NSUserDefaults *defualts = [NSUserDefaults standardUserDefaults];
    NSString *username = [defualts objectForKey:@"username"];
    float textsize = [defualts floatForKey:@"text_size"];
    BOOL autoLogin = [defualts boolForKey:@"auto_login"];
    NSLog(@"username = %@",username);
    NSLog(@"textsize = %0.1f",textsize);
    NSLog(@"autoLogin = %i",autoLogin);
}

@end
           

运行结果如下:

2013-09-22 16:30:42.183 preference(利用偏好设置保存数据)[745:c07] username = chaoyuan

2013-09-22 16:30:42.185 preference(利用偏好设置保存数据)[745:c07] textsize = 18.6

2013-09-22 16:30:42.189 preference(利用偏好设置保存数据)[745:c07] autoLogin = 1

也可以到/Users/Rio/Library/Application Support/iPhone Simulator/6.1/Applications/952F88F8-0A15-4722-903D-9D16D291CA1C/Library/Preference/  目录下查看生成的.plist文件(Rio是自己的名字,952F88F8-0A15-4722-903D-9D16D291CA1C根据个人会有所不同,一般通过生成时间就可以找到该项目),如我这边生成的文件如下:

数据持久化之preference
数据持久化之preference