zoukankan      html  css  js  c++  java
  • NSUserDefaults

    NSUserDefaults

    //get instance
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    //set
    [defaults setObject:@"valueOfString" forKey:@"keyOfString"]; 
    [defaults synchronize]; //一般来说,setObject 之后,NSUserDefaults会自动保存数据到plist文件,这里作此操作,防止程序意外退出,未保存设置
    //get
    NSString *settingValue = [defaults objectForKey:@"keyOfString"];
    NSLog(settingValue);
    
    支持的Key类型
    • NSString
    支持的Value类型
    • NSString
    • NSArray
    • NSDictionary
    • NSDate
    • NSNumber
    • NSData (当数据类型不在支持范围内时,可转为此类型存储)
    注册&重置默认值
    
    //register default value
    NSDictionary *defaultSettings = @{
           @"language": @"chs",
           @"maxdownnum": @"3"
    };
    [defaults registerDefaults:defaultSettings];œ
    //restore default value
    NSDictionary *settingDict = [defaults dictionaryRepresentation]; // 返回的dictionary中包含许多非本应用的设置项,注意排除
    for(NSString *key in settingDict)
    {
       [defaults removeObjectForKey:key];
    }
    
    
    一些常用存取方法
    
    //get
    
    - (NSString *)stringForKey:(NSString *)defaultName;
    - (NSArray *)arrayForKey:(NSString *)defaultName;
    - (NSDictionary *)dictionaryForKey:(NSString *)defaultName;
    - (NSData *)dataForKey:(NSString *)defaultName;
    - (NSArray *)stringArrayForKey:(NSString *)defaultName;
    - (NSInteger)integerForKey:(NSString *)defaultName;
    - (float)floatForKey:(NSString *)defaultName;
    - (double)doubleForKey:(NSString *)defaultName;
    - (BOOL)boolForKey:(NSString *)defaultName;
    - (NSURL *)URLForKey:(NSString *)defaultName;
    //set
    - (void)setInteger:(NSInteger)value forKey:(NSString *)defaultName;
    - (void)setFloat:(float)value forKey:(NSString *)defaultName;
    - (void)setDouble:(double)value forKey:(NSString *)defaultName;
    - (void)setBool:(BOOL)value forKey:(NSString *)defaultName;
    - (void)setURL:(NSURL *)url forKey:(NSString *)defaultName ;
    
    
    在文件中添加设置项

    添加工程模板文件:Setting Bundle -->修改文件:root.plist

    在代码中修改root的设置同上

  • 相关阅读:
    2015的最后一天
    网络类型IPv4和IPv6什么意思?区别?
    2:文档编辑生成目录相关方法说明
    TCP与UDP的区别
    vs 2012 InstallShield Limited Edition Project 打包windows服务解析
    百科编辑器ueditor应用笔记
    百度编辑器Ueditor 初始化加载内容失败解决办法
    矩阵-DirectX与OpenGL的不同
    ios系统中各种设置项的url链接
    简单的优化处理 By LINQ TO SQL
  • 原文地址:https://www.cnblogs.com/denjuy/p/4636316.html
Copyright © 2011-2022 走看看