Que*_*e20 3 unsafe-pointers nserror ios swift
所以我试图在我的Swift iOS应用程序中的SLRequest对象上使用performRequestWithHandler块,我无法处理NSError对象.这就是我的代码的样子:
posts.performRequestWithHandler({(response:NSData!, urlResponse:NSHTTPURLResponse!, error:NSError!) in
self.data = NSJSONSerialization.JSONObjectWithData(response, options: NSJSONReadingOptions.MutableLeaves, error: &error)
})
Run Code Online (Sandbox Code Playgroud)
我&error说错了:'NSError' is not convertible to '@lvalue inout $T9' in Swift.有谁知道这意味着什么?
先感谢您.
(我正在使用Xcode Beta 6 v7和OS X 10.10)
您正在重用error传入块的变量 - 您只需定义一个本地可选变量并将其引用传递给JSONObjectWithData
var myError: NSError?
self.data = NSJSONSerialization.JSONObjectWithData(response, options:NSJSONReadingOptions.MutableLeaves, error: &myError)
Run Code Online (Sandbox Code Playgroud)
这是因为JSONObjectWithData需要引用NSError类型变量.传递给块的那个是不可变的 - 它指向一个实例NSError,但不能重新分配指向另一个实例,或者在没有错误的情况下设置为nil.
| 归档时间: |
|
| 查看次数: |
1149 次 |
| 最近记录: |