2016-01-27 60 views
0

我有一個電池類象下面這樣:的UITableViewCell不會被調用正確

class DocumentPartCell: UITableViewCell { 
    @IBOutlet weak var documentPartTitle: UILabel! 
    @IBOutlet weak var documentPartNumber: UILabel! 
    @IBOutlet weak var documentPartProgress: UILabel! 
    var documentPart: DocumentPart? { 
     didSet { 
      if let documentPart = documentPart { 
       self.documentPartTitle.text = documentPart.title 
       self.documentPartNumber.text = "\(documentPart.partNumber)" 
      } 
     } 
} 
} 

正如你所看到的,documentPart包含數據。

如果我理解正確,didSet應該將數據從documentPart輸入到documentPartTitle和documentPartNumber。

cellForRowIndexPath我喜歡以下幾點:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
let documentPartCell = tableView.dequeueReusableCellWithIdentifier("documentPartCell", forIndexPath: indexPath) as! DocumentPartCell 
return documentPartCell 
} 

然而,當tableview中被顯示在UIViewController,它不會在這裏觸發didSet功能。我在didSet方法的中間設置了斷點,但是它打到了cellForRowAtIndexPath函數。我究竟做錯了什麼?我只是試圖將所有作業委託給單元類來輸入UILabel中的值。

+1

你在哪裏設置DocumentPartCell的** ** documentPart財產? –

回答

1

cellForRowAtIndexPath應該是類似的東西:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let documentPartCell = tableView.dequeueReusableCellWithIdentifier("documentPartCell", forIndexPath: indexPath) as! DocumentPartCell 
    documentPartCell.documentPart = documentPartCommingFromTheDataSource 
    return documentPartCell 
} 
相關問題