IOS设置项相关----Preferences and Settings Programming Guide

1.    概述大部分APP设置项都通过Cocoa preferences system:userdefaults system完成。 2.    关于user defaults system2.1  创建一个正确的preference使用简单的数据值、数据类型支持string、number、date,也支持NSData,不推荐使用。2.2  提供一个设置界面经常变
摘要由CSDN通过智能技术生成

1.    概述

大部分APP设置项都通过Cocoa preferences system:userdefaults system完成。

 

2.    关于user defaults system

2.1  创建一个正确的preference

使用简单的数据值、数据类型

支持string、number、date,也支持NSData,不推荐使用。

2.2  提供一个设置界面

经常变化的设置项使用APP中的自定义UI,不常变化的设置项通过SettingsBundle实现。

自定义设置项UI,没有标准的实现方案,按自己的需要实现。

2.3  Preferences的组织结构

每个设置项由三部分构成:

²  它所在在的域,比如APP专有设置项、系统设置项。

²  它的名字,是一个NSString对象。

²  它的值, (NSData, NSString, NSNumber, NSDate, NSArray,or NSDictionary)

搜索设置项时,在NSUserDefaults对象的搜索列表中进行,如下表:(按顺序搜索)

Domain

State

NSArgumentDomain

volatile

Application (Identified by the app’s identifier)

persistent

NSGlobalDomain

persistent

Languages (Identified by the language names)

volatile

NSRegistrationDomain

volatile

 

TheArgument Domain

它由命令行参数组成(如果程序为命令行启动),使用 NSArgumentDomain 常量标识,系统自动把命令行参数放到这个域中。

 

TheApplication Domain

包含APP特定的设置项,存储在当前用户UserDefaults数据库里。 因为这个域是对特定app的,所以域的内容是和appbundle标识绑定的。它的数据文件名为<ApplicationBundleIdentifer>.plist, 这里的<ApplicationBundleIdentifer> 指 app的 bundle标识。

 

TheGlobal Domain

包含对所有APP有效的设置项,通过NSGlobalDomain 常量标识。这个域是系统Framework用来存储整个系统适用的设置项值,不应该被APP来存储特定APP的值。如果你想修改GlobalDomain中的设置项,那么应该在applicationDomain中加入同名的设置项,来设置值。

 

TheLanguages Domains

对于AppleLanguages 设置项中的每一种语言,系统把语言相关的(language-specific)设置项值存入到基于这个语言名字命名的特定域中。很多Foundation中的类(比如:NSDate、NSDateFormatter等等)使用特定语言域中的信息修改它们的行为。

 

TheRegistration Domain

为设置项提供默认值,如果设置项没有在其它域中明确设置过。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值