如何读取数据从在 PLIST Swift

大哥哪位知道,如何读取数据从在 PLIST Swift
最新回答
浅时光倾城

2024-09-29 01:39:01

第一,你 Root plist 中的对象是 NSArray 不 NSDictionary 。

第二,如果你想要在基础集合 (不要相信这作品与swift的数组) 使用 KVC 你需要调用 valueForKeyPath 。

let chapterPath = NSBundle.mainBundle().pathForResource("chapterMapping", ofType: "plist")
if let arrayOfItems: [AnyObject] = NSArray(contentsOfFile: chapterPath!) {
let chapterNames: [String] = arrayOfItems.valueForKeyPath("chapterName") as NSArray as [String]
let pageNumbers: [Int] = arrayOfItems.valueForKeyPath("pageNumber") as NSArray as [Int]
}

第三,做这件事的 swift y 方式会与 map 功能,但 arrayOfItems 将需要一个强烈定义的类型,它可能更多的工作,真不值得。 示例:

let array: [ChapterMetaData] = // define it here
let chapterImages = array.map { $0.chapterImage }