iOS数据持久化之偏好设置

iOS中的数据持久化方式:1.plist 文件 2.偏好设置 3.NSKedArchiver(归档)4.SQLite5.CoreData

下面详细讲一下偏好设置:
/*
 1.偏好设置会将所有数据保存到同一个文件中。即preference目录下的一个以此应用包名来命名的plist文件。
 2.偏好设置是专门用来保存应用程序的配置信息的,一般不要在偏好设置中保存其他数据。
 3.使用偏好设置对数据进行保存之后,它保存到系统的时间是不确定的,如果需要即刻将数据存储,必须同步
 */
#import "ViewController.h"

@interface ViewController ()
- (IBAction)save:(id)sender;
- (IBAction)read:(id)sender;
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSString *path=NSHomeDirectory();
    NSLog(@"%@",path);
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];

}

- (IBAction)save:(id)sender
{
    //获取NSUserDefaults对象
    NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
    //保存数据
    [defaults setObject:@"gujinyue" forKey:@"name"];
    [defaults setInteger:23 forKey:@"age"];
    [defaults setBool:YES forKey:@"SEX"];
    
    
    //同步数据(使用偏好设置对数据进行保存之后,它保存到系统的时间是不确定的,如果需要即刻将数据存储,必须同步)
    [defaults synchronize];
}

- (IBAction)read:(id)sender
{
    //获取NSUserDefaults对象
    NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
    
    //读取数据(类型需要与存储时保持一致)
    NSString *name=[defaults objectForKey:@"name"];
    NSInteger age=[defaults integerForKey:@"age"];
    BOOL sex=[defaults boolForKey:@"SEX"];
    
    NSLog(@"姓名:%@ 年龄:%ld 性别:%d",name,age,sex);
}
@end


                                               

你可能感兴趣的:(iOS数据持久化之偏好设置)