Ios UItableview无法将Swift类型的值强制转换为NSMutableArray。\u SWIFTDEREDERDESARRAY

Ios UItableview无法将Swift类型的值强制转换为NSMutableArray。\u SWIFTDEREDERDESARRAY,ios,swift,parsing,Ios,Swift,Parsing,所以我有两个类,一个定义我的单元格:ListTableViewCell,另一个定义我的表:ListTableView。我试图从解析服务器中提取数据,以在单元格中显示为两个UILabel。我在这行代码中遇到了一个错误 self.Data = array as! NSMutableArray 它给了我一个错误“无法将'Swift.\u swiftderedensarray'(0x107bc36b8)类型的值强制转换为'NSMutableArray'(0x105f7fcd0)。” 有没有解决这个问

所以我有两个类,一个定义我的单元格:ListTableViewCell,另一个定义我的表:ListTableView。我试图从解析服务器中提取数据,以在单元格中显示为两个UILabel。我在这行代码中遇到了一个错误

 self.Data = array as! NSMutableArray
它给了我一个错误“无法将'Swift.\u swiftderedensarray'(0x107bc36b8)类型的值强制转换为'NSMutableArray'(0x105f7fcd0)。”

有没有解决这个问题的建议

class ListTableViewCell: UITableViewCell {
@IBOutlet weak var name: UILabel!
@IBOutlet weak var team: UILabel!

}
这是tableview

class ListTableViewController: UITableViewController{

var Data: NSMutableArray = NSMutableArray()

func loadData(){

    Data.removeAllObjects()

    let findData:PFQuery = PFQuery(className: "data")
    findData.getFirstObjectInBackground() {(objects: PFObject?, error: Error?) -> Void in
        if !(error != nil){
            for object in [objects] as [PFObject?]{
                self.Data.add(object)
            }
        }
        let array:NSArray = self.Data.reversed() as NSArray
        self.Data = array as! NSMutableArray
        self.tableView.reloadData()
    }

}

override func viewDidAppear(_ animated: Bool) {
    self.loadData()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}

override func numberOfSections(in tableView: UITableView) -> Int {
    return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return Data.count
}

override func tableView(_ tableView: UITableView?, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell:ListTableViewCell = tableView!.dequeueReusableCell(withIdentifier: "listCell", for: indexPath) as! ListTableViewCell

    let listData:PFObject = self.Data.object(at: indexPath.row) as! PFObject

    cell.name.text = listData.object(forKey: "name") as? String


    return cell
}


}
编辑***

更改:

   var Data = [PFObject]()


   Data.removeAllObjects() which I changed to Data.removeAll()
   self.Data.add(object) which I changed to aelf.Data.append(object)
完全去掉这个

   let array:NSArray = self.Data.reversed() as NSArray
   self.Data = array as! NSMutableArray
最后一个我无法修复的错误就是这个

let listData:PFObject = self.Data.object(at: indexPath.row) as! PFObject

它抛出一个错误,说[PFObject]没有成员对象

我想您遇到了与我开始使用Swift时相同的问题:您仍然在使用Obj-C阵列。试用

编辑:若要回答最近编辑的问题,您引用的对象不正确

当它告诉您
没有成员对象时,它的意思是您在说:

let listData:PFObject = self.Data.object(at: indexPath.row) as! PFObject
这部分特别说明:
self.data.object(位于:indexPath.row)

如果您引用我在上面共享的链接,您将看到您引用swift数组中的对象,例如:

let listData:PFObject = self.Data[indexPath.row] as! PFObject

我想你遇到了和我开始使用Swift时一样的问题:你仍然在使用Obj-C阵列。试用

编辑:若要回答最近编辑的问题,您引用的对象不正确

当它告诉您
没有成员对象时,它的意思是您在说:

let listData:PFObject = self.Data.object(at: indexPath.row) as! PFObject
这部分特别说明:
self.data.object(位于:indexPath.row)

如果您引用我在上面共享的链接,您将看到您引用swift数组中的对象,例如:

let listData:PFObject = self.Data[indexPath.row] as! PFObject

如果您使用Swift数据类型而不是NS*东西会怎么样?如果您使用Swift数据类型而不是NS*东西会怎么样?我想大多数人都没有意识到在Objective-C中使用NSArray是必要的,因为C数组很痛苦,但这是Swift,我们现在有真正的数组,不再需要使用NS*。)好的,所以我尝试了很多不同的尝试,在swift数组中,它会在其他地方抛出错误。你有什么特别的建议吗?@JaradKears无法帮助你,如果我不知道错误是什么或它们被抛出的位置。好的,所以我发布了一个对原始代码的编辑。感谢您的帮助我想大多数人都没有意识到在Objective-C中使用NSArray是必要的,因为C数组很麻烦,但这很快,我们现在有了真正的数组,不再需要使用NS*。)好的,所以我尝试了很多不同的尝试,在swift数组中,它会在其他地方抛出错误。你有什么特别的建议吗?@JaradKears无法帮助你,如果我不知道错误是什么或它们被抛出的位置。好的,所以我发布了一个对原始代码的编辑。谢谢你的帮助