2015-07-20 52 views
1

我有一個表格視圖,其中單元格被點擊,它插入到另一個tableview。第一個tableview工作並加載適當的數據。第二個不顯示數據。這裏是我的代碼:UI 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" 

然後一切w orks,並正確顯示文本「testcell」。所以很明顯,它並沒有讀取在chemistryListe數組中有任何內容。但是我在查詢中設置了一個斷點,並且看到查詢正確地獲取了應該在數組中的數據,並將其放入數組中。但只是tableview單元格沒有讀取它。任何想法可能是錯的?謝謝

回答

0

找到自己的答案:

我只是需要加入

self.tableView.reloadData() 

到查詢方法的末尾。

感謝所有的努力。

0

確保首先如果您有數據到陣列中。然後,你如果數組包含字符串改變這一行:

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

我試過了,編譯器將其修改爲「as」,但它仍然不起作用 – joey

+0

你確定你有數據到數組中並且嘗試用**代替**作爲** ** – Lamar

+0

是的,我在for循環之後設置了一個println(self.chemistryListe),設置了一個斷點,然後查看了控制檯中的日誌,並確實打印了應該在那裏的數組中的2個元素。就在編譯器在cellForRowatindexPath中讀取它時,它看不到任何數據。我已經嘗試過,和!一樣,並且沒有這些功能。 但在for循環中我追加元素「as!String」,所以我不認爲這個類型應該是一個問題 – joey

0

變化

cell.nameLabel.text = chemistryListe[indexPath.row] 

cell.nameLabel.text = "\(chemistryListe[indexPath.row])" 
+0

仍然不起作用。我想知道它是否可能與它之前的視圖控制器也包含一個tableview有關。我目前設置的方式是,在tableView#1中有一個單元格,然後我crtl +單擊並拖動以單擊該單元格過渡到tableView#2,這是我遇到此問題的陣列沒有出現。它可能是我從一個tableView轉換到另一個的方法是錯誤的? – joey

+0

你是否將數組傳遞給第二個視圖控制器? – Shades

+0

不,第一個viewcontroller/table視圖中單元格的內容是通過將它們放入一個數組中手動​​設置的,這意味着我已經將數組的初始內容設置在viewController的頂部。而在tableView#2中,數組開始時是空的,然後通過從解析中檢索數據來填充數據。我可以確認數據正在從解析中檢索,因爲for循環之後的println(self.chemistryListe)會打印正確的數組。 – joey