【发布时间】:2015-10-29 11:17:49
【问题描述】:
嗨,这里是在 Swift 2 中解析 JSON 文件的样板代码。我以前用过它,它可以工作,但由于某种原因,它在最新版本的 Xcode 7.1 和 Swift 2 中被破坏了。对这些人有什么想法吗?错误是“参数标签 '(contentsOfFile:, options:, error:)' 不匹配任何可用的重载”
import Foundation
extension Dictionary {
static func loadJSONFromBundle(filename: String) -> Dictionary<String, AnyObject>? {
if let path = NSBundle.mainBundle().pathForResource(filename, ofType: "json") {
var error: NSError?
let data = NSData(contentsOfFile: path, options: NSDataReadingOptions, error: &error)
if let data = data {
let dictionary: AnyObject? = NSJSONSerialization.JSONObjectWithData(data,
options: NSJSONReadingOptions(), error: &error)
if let dictionary = dictionary as? Dictionary<String, AnyObject> {
return dictionary
} else {
print("Level file '\(filename)' is not valid JSON: \(error!)")
return nil
}
} else {
print("Could not load level file: \(filename), error: \(error!)")
return nil
}
} else {
print("Could not find level file: \(filename)")
return nil
}
}
}
【问题讨论】:
-
我们使用 NSJSONSerialization 的方式在 Swift 2 中发生了变化。Example here. SO 上有很多其他示例。