//
//  ViewController.m
//  PreferenceDemo
//
//  Created by Realank on 16/7/29.
//  Copyright © 2016年 Realank. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

– (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}


– (IBAction)addContent:(id)sender {
    //获取NSUserDefaults实例
    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
    
    //存储数字值
    [userDefaults setBool:NO forKey:@”BoolKey”];
    [userDefaults setInteger:123 forKey:@”IntegerKey”];
    [userDefaults setFloat:0.12 forKey:@”FloatKey”];
    [userDefaults setDouble:0.12345 forKey:@”DoubleKey”];
    //存储字符串值
    [userDefaults setObject:@”Hello” forKey:@”StringKey”];
    //存储NSData值
    NSData* data = [@”Hello Data” dataUsingEncoding:NSUTF8StringEncoding];
    [userDefaults setObject:data forKey:@”NSDataKey”];
    //存储数组值
    NSArray* array = @[@”one”,@”two”,@”three”];
    [userDefaults setObject:array forKey:@”ArrayKey”];
    //存储字典值
    NSDictionary* dict = @{@"key1":@"value1",@"key2":@"value2",@"key3":@"value3"};
    [userDefaults setObject:dict forKey:@”DictionaryKey”];
    
    //同步数据
    [userDefaults synchronize];
    
}
– (IBAction)readContent:(id)sender {
    
    //获取NSUserDefaults实例
    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
    
    //读取数字值
    BOOL readBool = [userDefaults boolForKey:@”BoolKey”];
    NSLog(@"Bool value is:%@",readBool?@"YES":@"NO");
    
    NSInteger readInteger = [userDefaults integerForKey:@”IntegerKey”];
    NSLog(@"Integer value is:%ld",readInteger);
    
    float readFloat = [userDefaults floatForKey:@”FloatKey”];
    NSLog(@"Float value is:%f",readFloat);
    
    double readDouble = [userDefaults doubleForKey:@”DoubleKey”];
    NSLog(@"Double value is:%lf",readDouble);
    
    //读取字符串值
    NSString* readString = [userDefaults objectForKey:@”StringKey”];
    NSLog(@"String value is:%@",readString);
    
    //读取NSData值
    NSData* readData = [userDefaults objectForKey:@”NSDataKey”];
    NSString* dataToString = [[NSString alloc]initWithData:readData encoding:NSUTF8StringEncoding];
    NSLog(@"NSData value is:%@",dataToString);
    //读取数组值
    NSArray* readArray = [userDefaults objectForKey:@”ArrayKey”];
    NSLog(@"Array value is:%@",readArray);
    //读取字典值
    NSDictionary* readDictionary = [userDefaults objectForKey:@”DictionaryKey”];
    NSLog(@"Dictionary value is:%@",readDictionary);
    
}
– (IBAction)updateContent:(id)sender {
    
    //获取NSUserDefaults实例
    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
    
    //更新数字值
    [userDefaults setBool:YES forKey:@”BoolKey”];
    [userDefaults setInteger:456 forKey:@”IntegerKey”];
    [userDefaults setFloat:3.14 forKey:@”FloatKey”];
    [userDefaults setDouble:6.5432 forKey:@”DoubleKey”];
    //更新字符串值
    [userDefaults setObject:@”你好” forKey:@”StringKey”];
    //更新NSData值
    NSData* data = [@”数据” dataUsingEncoding:NSUTF8StringEncoding];
    [userDefaults setObject:data forKey:@”NSDataKey”];
    //更新数组值
    NSArray* array = @[@”six”,@”seven”,@”eight”];
    [userDefaults setObject:array forKey:@”ArrayKey”];
    //更新字典值
    NSDictionary* dict = @{@"key5":@"value5",@"key6":@"value6",@"key7":@"value7"};
    [userDefaults setObject:dict forKey:@”DictionaryKey”];
    
    //更新数据
    [userDefaults synchronize];
    
}
– (IBAction)deleteContent:(id)sender {
    
    //获取NSUserDefaults实例
    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
    
    //存储数字值
    [userDefaults removeObjectForKey:@”BoolKey”];
    [userDefaults removeObjectForKey:@”IntegerKey”];
    [userDefaults removeObjectForKey:@”FloatKey”];
    [userDefaults removeObjectForKey:@”DoubleKey”];
    //存储字符串值
    [userDefaults removeObjectForKey:@”StringKey”];
    //存储NSData值
    [userDefaults removeObjectForKey:@”NSDataKey”];
    //存储数组值
    [userDefaults removeObjectForKey:@”ArrayKey”];
    //存储字典值
    [userDefaults removeObjectForKey:@”DictionaryKey”];

    //同步数据
    [userDefaults synchronize];
}

 

 


@end