Ios UI TableView未返回数据

Ios UI TableView未返回数据,ios,swift,uitableview,parse-platform,Ios,Swift,Uitableview,Parse Platform,我有一个表视图,点击单元格,它会进入另一个表视图。第一个tableview工作并加载适当的数据。第二个不显示数据。这是我的密码: let query = PFQuery(className: "_User") query.whereKey("Chemistry", equalTo: true) query.findObjectsInBackgroundWithBlock { (caption: [AnyObject]?, erreur: NSError?) -> Voi

我有一个表视图,点击单元格,它会进入另一个表视图。第一个tableview工作并加载适当的数据。第二个不显示数据。这是我的密码:

  let query = PFQuery(className: "_User")
    query.whereKey("Chemistry", equalTo: true)
    query.findObjectsInBackgroundWithBlock { (caption: [AnyObject]?, erreur: NSError?) -> Void in
        if erreur == nil {
            // on a réussi
            for caption in caption! {
                self.chemistryListe.append(caption["username"] as! String)
            }

            println("we are here")
            println(self.chemistryListe)

        }
        else {
            // quelque chose s'est passé
        }
    }
下面是我的cellforRowatIndexPath和numberOfRowsinSection方法:

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.chemistryListe.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("SearchResult") as! CompanyTableViewCell

    println(self.chemistryListe)
    cell.nameLabel.text = chemistryListe[indexPath.row]


    return cell
}
如果我更改此行:

    cell.nameLabel.text = chemistryListe[indexPath.row]
为此:

   cell.nameLabel.text = "testcell"

然后一切正常,它正确地显示文本“testcell”。所以很明显,在chemistryListe数组中没有任何内容。但是我在查询的中间设置了一个断点,并看到查询正确地获取了应该在数组中的数据,并将其放入数组中。但是只有tableview单元格没有读取它。你知道会出什么问题吗?谢谢

首先确保阵列中是否有数据。然后,如果数组包含字符串,请将此行更改为:

 cell.nameLabel.text = chemistryListe[indexPath.row] as! String

首先确保数组中是否有数据。然后,如果数组包含字符串,请将此行更改为:

 cell.nameLabel.text = chemistryListe[indexPath.row] as! String
改变

改变


我自己找到了答案:

我只需要补充一下

   self.tableView.reloadData()
到查询方法的末尾


感谢大家的努力。

我自己找到了答案:

我只需要补充一下

   self.tableView.reloadData()
到查询方法的末尾


多亏了大家的努力。

我试过了,编译器将其更正为“as”,但仍然无法工作。请确保数组中有数据,并尝试替换为!使用as?yes,我在for循环之后设置了一个println(self.chemistryListe),设置了一个断点,并查看了控制台中的日志,它确实打印了数组中应该存在的2个元素。当编译器在cellforrowatinexpath读取它时,它看不到任何数据。我试过,试过!,作为?,这些都不管用。但是在for循环中,我添加了元素“as!String”,所以我认为类型不应该是一个问题。您知道create分配给**var text=chemistryListe[indexPath.row]as!的是什么吗!String**then do cell.namelab.text=text我尝试过,编译器将其更正为“as”,但它仍然不起作用。请确保数组中有数据,并尝试替换为!使用as?yes,我在for循环之后设置了一个println(self.chemistryListe),设置了一个断点,并查看了控制台中的日志,它确实打印了数组中应该存在的2个元素。当编译器在cellforrowatinexpath读取它时,它看不到任何数据。我试过,试过!,作为?,这些都不管用。但是在for循环中,我添加了元素“as!String”,所以我认为类型不应该是一个问题。您知道create分配给**var text=chemistryListe[indexPath.row]as!的是什么吗!字符串**然后执行cell.namelab.text=text仍然不起作用。我想知道这是否与视图控制器之前还包含tableview这一事实有关。我目前的设置方式是,tableView#1中有一个单元格,然后我crtl+单击并拖动以使单击该单元格过渡到tableView#2,这就是我遇到数组未显示问题的地方。这可能是因为我从一个表视图转换到下一个表视图的方法是错误的吗?是否将数组传递给第二个视图控制器?否,第一个视图控制器/表视图中的单元格内容是通过将它们放入数组中手动设置的,这意味着我已将数组的初始内容设置在视图控制器的顶部。而在tableView#2中,数组一开始是空的,然后通过从解析中检索数据来填充数据。我可以确认正在从解析中检索数据,因为for循环后的println(self.chemistryListe)没有打印正确的数组。仍然无法工作。我想知道这是否与视图控制器之前还包含tableview这一事实有关。我目前的设置方式是,tableView#1中有一个单元格,然后我crtl+单击并拖动以使单击该单元格过渡到tableView#2,这就是我遇到数组未显示问题的地方。这可能是因为我从一个表视图转换到下一个表视图的方法是错误的吗?是否将数组传递给第二个视图控制器?否,第一个视图控制器/表视图中的单元格内容是通过将它们放入数组中手动设置的,这意味着我已将数组的初始内容设置在视图控制器的顶部。而在tableView#2中,数组一开始是空的,然后通过从解析中检索数据来填充数据。我可以确认正在从parse中检索数据,因为for循环之后的println(self.chemistryListe)确实打印了正确的数组。