Mac OS X 应用程序资源管理与打包详解(上)
1. 本地化字符字符串
在运行时,用户可决定应用程序包实际使用哪一组本地化资源。与应用程序包相关的系统例程会依据用户在“偏好设置”应用中设定的语言偏好来操作。用户能在“偏好设置”里创建可用区域的有序列表,最偏好的区域排在首位,次偏好的区域紧随其后,依此类推。当请求应用程序包提供资源文件时,它会返回与用户区域偏好最匹配的资源的文件系统位置。
常见的资源类型之一是字符串文件(按惯例扩展名为 .strings ),用于存储需要本地化的字符字符串。它本质上是一种字典,将开发语言中的字符串映射为本地化版本。虽然键不一定是开发语言版本的字符串,但通常采用这种约定。
系统例程能够定位并加载字符串文件(与其他资源一样),并一步完成查找所需字符串的操作。同时,它还提供缓存功能,避免从同一表中多次查找时重复定位和加载字符串文件。由于字符串文件使用频繁,Mac OS X 开发环境提供了专门的宏和工具来处理它们。
2. 搜索算法
使用特定于应用程序包的编程接口定位资源时,系统会执行搜索操作,以确保返回正确版本的资源。由于资源可能是全局的、本地化的,也可能是特定于平台的,搜索过程可能较为复杂。各种资源查找 API 可避免应用程序包打包方案的潜在变化带来的影响,并处理许多棘手的搜索问题,因此应始终使用这些 API,而非自行在应用程序包内部查找。
系统例程定位资源的步骤如下:
graph TD;
A[搜索全局资源] -->|找到| B[返回平台通用资源];
A
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



