NSBundle
2016-03-14 18:38
253 查看
Initializing an NSBundle
Getting an NSBundle
Getting a Bundled Class
Finding Resources
Getting the Bundle Directory
Getting Bundle Information
Managing Localized Resources
Loading a Bundle’s Code
Managing Localizations
Managing Preservation Priority for On Demand Resources
NSBundle主要用于快速访问APP中的资源文件,如xib、plist、image等。
Bundle Programming Guide
Resource Programming Guide
GitHub:https://github.com/937447974/Blog
Getting an NSBundle
Getting a Bundled Class
Finding Resources
Getting the Bundle Directory
Getting Bundle Information
Managing Localized Resources
Loading a Bundle’s Code
Managing Localizations
Managing Preservation Priority for On Demand Resources
NSBundle主要用于快速访问APP中的资源文件,如xib、plist、image等。
1 Initializing an NSBundle
/// 根据路径生成NSBundle public init?(path: String) /// 根据路径生成NSBundle @available(iOS 4.0, *) public convenience init?(URL url: NSURL)
2 Getting an NSBundle
/// 获取主bundle,Info.plist public class func mainBundle() -> NSBundle /// 根据类AnyClass关联获取bundle public /*not inherited*/ init(forClass aClass: AnyClass) /// 根据标识符获取bundle public /*not inherited*/ init?(identifier: String) /// 获取所有NSBundle public class func allBundles() -> [NSBundle] /// 获取framework public class func allFrameworks() -> [NSBundle]
3 Getting a Bundled Class
/// 根据class名生成class public func classNamed(className: String) -> AnyClass? /// 捆绑的主要类 public var principalClass: AnyClass? { get }
4 Finding Resources
/// 源path @available(iOS 4.0, *) @NSCopying public var resourceURL: NSURL? { get } public var resourcePath: String? { get } /// 关联的appStore路径 @available(iOS 7.0, *) @NSCopying public var appStoreReceiptURL: NSURL? { get } /// 获取某个包下面的文件路径 /// /// - parameter name : 文件名 /// - parameter ext : 扩展,如plist /// - parameter subpath : 搜索的目录 /// /// - returns: NSURL/String @available(iOS 4.0, *) public func URLForResource(name: String?, withExtension ext: String?, subdirectory subpath: String?) -> NSURL? @available(iOS 4.0, *) public func URLForResource(name: String?, withExtension ext: String?) -> NSURL? public func pathForResource(name: String?, ofType ext: String?) -> String? /// 获取包路径下指定文件名、文件类型的文件 /// 获取文件路径 /// /// - parameter name : 文件名 /// - parameter ext : 文件后缀名 /// - parameter subpath : 搜索的path目录 /// - parameter bundleURL : 文件包路径 /// /// - returns: NSURL/String @available(iOS 4.0, *) public class func URLForResource(name: String?, withExtension ext: String?, subdirectory subpath: String?, inBundleWithURL bundleURL: NSURL) -> NSURL? @available(iOS 4.0, *) public class func URLsForResourcesWithExtension(ext: String?, subdirectory subpath: String?, inBundleWithURL bundleURL: NSURL) -> [NSURL]? public class func pathForResource(name: String?, ofType ext: String?, inDirectory bundlePath: String) -> String? public func pathForResource(name: String?, ofType ext: String?, inDirectory subpath: String?) -> String? public class func pathsForResourcesOfType(ext: String?, inDirectory bundlePath: String) -> [String] /// 获取文件路径 /// /// - parameter name : 文件名 /// - parameter ext : 文件后缀名 /// - parameter subpath : 搜索的path目录 /// - parameter localizationName : 本地化语言ID /// /// - returns: NSURL/String @available(iOS 4.0, *) public func URLForResource(name: String?, withExtension ext: String?, subdirectory subpath: String?, localization localizationName: String?) -> NSURL? public func pathForResource(name: String?, ofType ext: String?, inDirectory subpath: String?, forLocalization localizationName: String?) -> String? @available(iOS 4.0, *) public func URLsForResourcesWithExtension(ext: String?, subdirectory subpath: String?, localization localizationName: String?) -> [NSURL]? public func pathsForResourcesOfType(ext: String?, inDirectory subpath: String?, forLocalization localizationName: String?) -> [String] @available(iOS 4.0, *) public func URLsForResourcesWithExtension(ext: String?, subdirectory subpath: String?) -> [NSURL]? public func pathsForResourcesOfType(ext: String?, inDirectory subpath: String?) -> [String]
5 Getting the Bundle Directory
/// 包路径 public var bundlePath: String { get } @available(iOS 4.0, *) @NSCopying public var bundleURL: NSURL { get }
6 Getting Bundle Information
// 包标示符Bundle ID public var bundleIdentifier: String? { get } // 对应的字典 public var infoDictionary: [String : AnyObject]? { get } // 从字典中取数据 public func objectForInfoDictionaryKey(key: String) -> AnyObject? /// 插件文件的路径 @available(iOS 4.0, *) @NSCopying public var builtInPlugInsURL: NSURL? { get } public var builtInPlugInsPath: String? { get } /// 可执行的文件路径 @available(iOS 4.0, *) @NSCopying public var executableURL: NSURL? { get } public var executablePath: String? { get } /// 规定文件名的可执行文件路径 @available(iOS 4.0, *) public func URLForAuxiliaryExecutable(executableName: String) -> NSURL? public func pathForAuxiliaryExecutable(executableName: String) -> String? /// 私有库地址 @available(iOS 4.0, *) @NSCopying public var privateFrameworksURL: NSURL? { get } public var privateFrameworksPath: String? { get } /// 共享库地址 @available(iOS 4.0, *) @NSCopying public var sharedFrameworksURL: NSURL? { get } public var sharedFrameworksPath: String? { get } /// 可共享的文件地址 @available(iOS 4.0, *) @NSCopying public var sharedSupportURL: NSURL? { get } public var sharedSupportPath: String? { get }
7 Managing Localized Resources
/// 返回本地化字符串对应的值 public func localizedStringForKey(key: String, value: String?, table tableName: String?) -> String
8 Loading a Bundle’s Code
/// 可执行的cpu架构 @available(iOS 2.0, *) public var executableArchitectures: [NSNumber]? { get } // 可执行代码能否加载成功 @available(iOS 2.0, *) public func preflight() throws // 动态加载可执行代码 public func load() -> Bool // 加载过程中并返回错误 @available(iOS 2.0, *) public func loadAndReturnError() throws // 加载状态 public var loaded: Bool { get } // 卸载可执行代码 public func unload() -> Bool
9 Managing Localizations
// 从一个或多个本地化id中获取当前支持的id public class func preferredLocalizationsFromArray(localizationsArray: [String]) -> [String] public class func preferredLocalizationsFromArray(localizationsArray: [String], forPreferences preferencesArray: [String]?) -> [String] // 优选本地化 public var preferredLocalizations: [String] { get } // 开发语言 public var developmentLocalization: String? { get } // 本地化字典 public var localizedInfoDictionary: [String : AnyObject]? { get } // 本地化支持的ID public var localizations: [String] { get }
10 Managing Preservation Priority for On Demand Resources
/// 设置优先级 @available(iOS 9.0, *) public func setPreservationPriority(priority: Double, forTags tags: Set<String>) /// 获取优先级 @available(iOS 9.0, *) public func preservationPriorityForTag(tag: String) -> Double
Appendix
Sample Code
SwiftRelated Documentation
NSBundle Class ReferenceBundle Programming Guide
Resource Programming Guide
Revision History
时间 | 描述 |
---|---|
2016-03-14 | 博文完成 |
Copyright
CSDN:http://blog.csdn.net/y550918116jGitHub:https://github.com/937447974/Blog
相关文章推荐
- Youku iOS笔试题
- 跨服务器上传文件
- 如何点击一个图标进入一个网页
- 苹果系统里面部署ASP.NET
- Android 开发过程中需要注意的细节(一)
- 将多个txt文件合并成一个
- 插入排序
- 多国语言文档识别 ABBYY FineReader Corporate v12.0.101.388.7z 绿色破解版
- 自定义特性验证数据
- zookeeper集群搭建
- LeetCode332. Reconstruct Itinerary
- latex 基本用法(四)
- PHP 批量生成静态文件目录代码
- 编程规范的一些小事
- js判断浏览器类型
- 带分数问题
- python学习笔记(2)-IO编程
- Xutils简介及使用详解
- Python 模块学习:os模块
- css 画圆,环形,椭圆