当我将 Xcode 更新到最新版本时,我刚刚遇到了用 Swift 编写的项目的问题; Xcode 7.0。
Xcode 告诉我应该转换我的代码以使用 Swift 的新语法 (Swift 2)。
问题是我无法理解如何解决某些代码行。
举个例子:我在我的应用程序中使用 SwiftyJSON,Xcode 给了我这个错误,如下所示:
public struct JSON {
public init(data:NSData, options opt: NSJSONReadingOptions = .AllowFragments, error: NSErrorPointer = nil) {
if let object: AnyObject = NSJSONSerialization.JSONObjectWithData(data, options: opt, error: error) {
self.init(object)
} else {
self.init(NSNull())
}
}
最佳答案
某些函数删除了一些参数,在本例中是错误指针。相反,它会抛出异常(这意味着您只能通过 try catch 处理来调用它)。这是您的代码的 swift 2.0 版本
public struct JSON
{
public init(data:NSData, options opt: NSJSONReadingOptions = .AllowFragments, error: NSErrorPointer = nil)
{
do {
let object:AnyObject = try NSJSONSerialization.JSONObjectWithData(data, options: opt)
self.init(data: object as! NSData)
} catch {
//error handling code
}
}
}
关于ios - Swift 2 的 Xcode 7.0 更新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32791464/