2016-05-15 62 views
1

我試圖使用Realm在創建內容時存儲用戶數據。我知道Realm正在保存正確的數據,我可以訪問我需要的某些數據,即我試圖在自定義單元格中的標籤上顯示的名稱。cellForRowAtIndexPath未顯示Realm對象數據

我給視圖控制器代碼

class MeetupListViewController: ToolbarTabSuper, UIViewControllerTransitioningDelegate, UITableViewDelegate, UITableViewDataSource { 



@IBOutlet var tableView: UITableView! 
@IBOutlet weak var toolbarView: UIToolbar! 


var realm: Realm! 
lazy var results: Results<Meetup> = { self.realm.objects(Meetup).sorted("meetupName") }() 
var meetups = [Meetup]() 
var items: [String] = ["We", "Heart", "Swift"] 

override func viewDidLoad() { 
    super.viewDidLoad() 
    navigationItem.title = "Meetup List" 
    self.toolbarView.barTintColor = tabToolbarColor 
} 

override func viewWillAppear(animated: Bool) { 
    super.viewDidAppear(animated) 
    tableView.reloadData() 
} 

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat 
{ 
    return 60 
} 

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

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! MeetupCellTableViewCell 
    let item = results[indexPath.row] 
    cell.label?.text = item.meetupName 
    return cell 
} 

我的自定義細胞

class MeetupCellTableViewCell: UITableViewCell { 

var meetupName = UILabel() 
@IBOutlet var label: UILabel! 

override init(style: UITableViewCellStyle, reuseIdentifier: String?) { 
    super.init(style: style, reuseIdentifier: reuseIdentifier) 

    self.contentView.addSubview(meetupName) 
} 

required init?(coder aDecoder: NSCoder) { 
    fatalError("init(coder:) has not been implemented") 
} 

override func awakeFromNib() { 
    super.awakeFromNib() 
    // Initialization code 
} 

override func setSelected(selected: Bool, animated: Bool) { 
    super.setSelected(selected, animated: animated) 

    // Configure the view for the selected state 
} 

}代碼

識別在故事板被設置在哪裏與創建的標籤的重用我想使用的圖像。看來cellForRowAtIndexPath函數甚至沒有被調用。一切似乎都從我在網上看到的東西上工作,但它根本沒有顯示出來。

+0

是什麼'self.results',你在哪裏填充它?異步的地方? – luk2302

+1

查看代碼時,所有內容都是正確的。在cellForRowAtIndexPath中設置一個斷點,以查看它是否正在調用函數,或者,然後告訴我。 – Anokrize

+0

@ luk2302它從調用到領域實例中填充。它正確填充,我已經打印RMArray來檢查 – ggworean

回答

3

如果您在ViewController中使用它們,您應該將delegatedata source設置爲自身,以便將tableView與您的函數掛接。

應該看起來像:

self.tableView.delegate = self 
self.tableView.dataSource = self 
+0

我錯過了一些小事,或者這正是我所擁有的? – ggworean

+0

不看tableView(tableView:tableView)後的聲明。 你有什麼是tableView(tableView:UITableView) – Anokrize

+0

試過了,得到關於tableView在函數中的投影錯誤 – ggworean