我是Swift的新手,正在使用Xcode 6。
我正在尝试从应用的plist
文件中读取数据,但它无效。
data.plist
文件包含在Xcode的Supporting Files
组中。
我正在使用以下代码:
var dataList = NSDictionary(contentsOfURL:NSBundle.mainBundle().URLForResource("data", withExtension:"plist"))
然而NSURL:
NSBundle.mainBundle().URLForResource("data", withExtension:"plist")
始终返回nil
。
我不知道出了什么问题。
答案 0 :(得分:1)
通常,您会希望使用此代码来创建plist。这将找到plist的路径,然后将其移动到文档目录中(如果尚未存在)。如果你不移动它,就不允许你写它,因此这段代码是至关重要的。要从plist中获取信息,请使用第二位代码。显然,如果你有一个数组而不是一个字典,你就必须改变它来处理它。
var path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString
path = path.stringByAppendingPathComponent("data.plist")
let fileManager = NSFileManager.defaultManager()
if !fileManager.fileExistsAtPath(path) {
let sourcePath = NSBundle.mainBundle().pathForResource("data", ofType: "plist")
fileManager.copyItemAtPath(sourcePath, toPath: path, error: nil)
}
let dict = NSMutableDictionary(contentsOfFile: path) as NSMutableDictionary