您的位置:首页 > 移动开发 > IOS开发

用NSUserDefaults保存和读取程序设置

2016-06-02 16:00 639 查看
NSUserDefaults:用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary。如果要存储其他类型,则需要转换为前面的类型,才能用NSUserDefaults存储。

保存数据:

[cpp] view
plain copy

-(void)saveSetting {  

      

    NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];  

  

    //save string  

    NSString* saveString = @"simon";  

    [defaults setObject:saveString forKey:@"name"];  

  

    //save integer  

    NSInteger saveInt = 100;  

    [defaults setInteger: saveInt forKey:@"count"];  

  

    //save bool  

    BOOL saveBool = YES;  

    [defaults setBool: saveBool forKey:@"flag"];  

  

    //save image  

    UIImage *image=[[UIImage alloc]initWithContentsOfFile:@"photo.jpg"];  

    NSData *imageData = UIImageJPEGRepresentation(image, 100);//UIImage对象转换成NSData  

    [defaults setObject:imageData forKey:@"image"];  

  

    //用synchronize方法把数据持久化到standardUserDefaults数据库  

    [defaults synchronize];  

}  

读取数据:

[cpp] view
plain copy

-(void)getSetting {  

    NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];  

      

    //根据键值取出name  

    NSString *name = [defaults objectForKey:@"name"];  

      

    NSInteger count = [defaults objectForKey:@"count"];  

    BOOL bflag = [defaults objectForKey:@"flag"];  

      

    NSData *imageData = [defaults dataForKey:@"image"];  

    UIImage *Image = [UIImage imageWithData:imageData];//NSData转换为UIImage 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios