非标准应用与文本处理开发指南
在软件开发中,除了常见的具有传统图形用户界面(GUI)的应用程序外,还存在一些特殊类型的应用,如偏好面板和状态栏应用。同时,在处理文本方面,也有很多实用的技巧,如国际化与本地化、数据格式化等。下面将详细介绍这些内容。
偏好面板(Preference Panes)
- 适用场景:大多数应用程序会在自身内部显示偏好设置,但有些软件,如后台应用程序或设备驱动程序,没有传统的界面来显示偏好设置。在这种情况下,就需要创建偏好面板,它是由系统偏好设置应用程序托管的小程序。
- 工作原理:偏好面板不是一个独立的应用程序,而是由系统偏好设置应用程序加载的代码包。该包包含代码和所需的资源(如图像、nib 文件等)。安装偏好面板后,系统偏好设置会在主窗口中以图标形式显示。用户选择该图标时,包会被加载,主 nib 文件会显示,代码开始运行。偏好面板包在用户切换到其他面板后仍会留在内存中,直到系统偏好设置应用程序退出。
- 偏好域(Preference Domains):为防止偏好设置冲突,OS X 和 iOS 按域(domain)分隔偏好设置。使用
NSUserDefault的setValue:forKey:和valueForKey:等方法时,默认操作的偏好域与应用程序的捆绑标识符同名。但在构建偏好面板时,应用程序的捆绑标识符是系统偏好设置的,因此需要明确指定要操作的偏好域。