gpt4 book ai didi

ios - 'NSError' 在 Swift 中不能转换为 '@lvalue inout $T9'

转载 作者:搜寻专家 更新时间:2023-10-31 22:16:54 26 4
gpt4 key购买 nike

所以我试图在我的 Swift iOS 应用程序中的 SLRequest 对象上使用 performRequestWithHandler block ,但我无法处理 NSError 对象。这就是我的代码的样子:

posts.performRequestWithHandler({(response:NSData!, urlResponse:NSHTTPURLResponse!, error:NSError!) in
self.data = NSJSONSerialization.JSONObjectWithData(response, options: NSJSONReadingOptions.MutableLeaves, error: &error)
})

我在 &error 上有一个错误,上面写着:'NSError' is not convertible to '@lvalue inout $T9' in Swift。有谁知道这是什么意思吗?

提前谢谢你。

(我在 OS X 10.10 上使用 Xcode Beta 6 v7)

最佳答案

您正在重用传递给 block 的 error 变量 - 您只需定义一个本地可选变量并将其引用传递给 JSONObjectWithData

var myError: NSError?
self.data = NSJSONSerialization.JSONObjectWithData(response, options:NSJSONReadingOptions.MutableLeaves, error: &myError)

发生这种情况是因为 JSONObjectWithData 需要引用 NSError 类型的变量。传递给 block 的是不可变的 - 它指向 NSError 的实例,但不能重新分配以指向另一个实例,或者在没有错误的情况下设置为 nil。

关于ios - 'NSError' 在 Swift 中不能转换为 '@lvalue inout $T9',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25693017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com