现在的位置: 首页 > 综合 > 正文

iOS NSUserDefaults使用方法

2018年02月03日 ⁄ 综合 ⁄ 共 1166字 ⁄ 字号 评论关闭

什么是NSUserDefaults?
NSUserDefaults类用于保存应用程序设置和属性以及用户数据。例如,你可以存储用户在应用程序中使用的图片或默认颜色方案。这些对象存储在iOS所谓的“defaults系统”中。iOS的defaults系统在整个app中都是可用的,因此存放到defaults系统中的数据也是整个应用程序生命周期中可用的。也就是说,无论用户关闭程序还是关机,在用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:

NSData
NSString
NSNumber
NSDate
NSArray
NSDictionary
如果你想保存其他类型,如UIImage,你应该进行编码(即archive),或者将它转换为NSData、NSNumber或者NSString。

使用方法:

1、创建写入:

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

 

    [defaults setObject:firstName forKey:@"firstName"];

    [defaults setObject:lastName forKey:@"lastname"];

    [defaults setInteger:age forKey:@"age"];

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

 

    [defaults synchronize];

2、读取:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

 

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

    NSString *lastName = [defaults objectForKey:@"lastname"];

 

    int age = [defaults integerForKey:@"age"];

    NSString *ageString = [NSString stringWithFormat:@"%i",age];

 

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

    UIImage *contactImage = [UIImage imageWithData:imageData];

 

    // Update the UI elements with the saved data

    firstNameTextField.text = firstName;

    lastNameTextField.text = lastName;

    ageTextField.text = ageString;

    contactImageView.image = contactImage;

抱歉!评论已关闭.