十一.NSUserDefaults本地保存 移除

NSUserDefaults是iOS系统提供的一个单例类(iOS提供了若干个单例类),通过类方法standardUserDefaults可以获取NSUserDefaults单例。

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

NSUserDefaults单例以key-value的形式存储了一系列偏好设置,key是名称,value是相应的数据。存/取数据时可以使用方法objectForKey:和setObject:forKey:来把对象存储到相应的plist文件中,或者读取,既然是plist文件,那么对象的类型则必须是plist文件可以存储的类型,正如官方文档中提到的——

NSData
NSString
NSNumber(Integer、Float、Double)
NSDate
NSArray
NSDictionary

保存:

NSString *myString = @"enuola";    
    int myInteger = 100;    
    float myFloat = 50.0f;    
    double myDouble = 20.0;    
    NSDate *myDate = [NSDate date];    
    NSArray *myArray = [NSArray arrayWithObjects:@"hello", @"world", nil];    
    NSDictionary *myDictionary = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"enuo", @"20", nil] forKeys:[NSArray arrayWithObjects:@"name", @"age", nil]];    
        
    //将上述数据全部存储到NSUserDefaults中     
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];    
    //存储时,除NSNumber类型使用对应的类型外,其他的都是使用setObject:forKey:     
    [userDefaults setInteger:myInteger forKey:@"myInteger"];    
    [userDefaults setFloat:myFloat forKey:@"myFloat"];    
    [userDefaults setDouble:myDouble forKey:@"myDouble"];    
        
    [userDefaults setObject:myString forKey:@"myString"];    
    [userDefaults setObject:myDate forKey:@"myDate"];    
    [userDefaults setObject:myArray forKey:@"myArray"];    
    [userDefaults setObject:myDictionary forKey:@"myDictionary"];    
        
    //这里建议同步存储到磁盘中,但是不是必须的     
    [userDefaults synchronize];    
//方法synchronise是为了强制存储,其实并非必要,因为这个方法会在系统中默认调用,但是你确认需要马上就存储,这样做是可行的。
[defaults synchronize];

移除:

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults removeObjectForKey:@"uid"];

你可能感兴趣的:(十一.NSUserDefaults本地保存 移除)