我将 swift 2 更新到 swift 3 后出现错误
var nicknames = [String]()
var messages = NSArray()
var selectedmsg:PFObject!
query.findObjectsInBackground{
(objects, error) -> Void in
if error == nil
{
messages = objects! ***Cannot assign value of type '[PFObject]?' to type 'NSArray'***
for object in objects! {
self.nicknames.append(object.object(forKey: "userpointer")!.object(forKey: "nickname") as! String) ***Value of type 'Any' has no member 'object'***
}
self.selectedmsg = messages.object(at: (indexPath as NSIndexPath).row) as! PFObject
self.selectedmsg["file"]!.getDataInBackground{ ***Value of type 'Any' has no member 'getDataInBackground'***
***之间的代码有3处错误
代码在 swift 2 中运行良好,有人可以帮我修复 swift 3 中的相同代码吗 请提供任何帮助。
最佳答案
一如既往,除非别无选择,否则不要在 Swift 中使用 NSArray
。
NSArray
不提供任何类型信息,因此编译器不知道它实际上包含 PFObject
对象。
在这种情况下,您可以选择!通过将 messages
声明为
var messages = [PFObject]()
这一微小的变化将解决所有三个错误。
关于ios - Swift 3 解析查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39424178/