ios - Class implementing UITableViewDataSource is always null -
i have tableview should have delegate , datasource properties set insertintotableviewdelegate
, insertintotableviewdatasource
classes respectively. however, insertintotableviewdatasource
class returns null
.
here code:
class insertintotableviewdatasource: nsobject,uitableviewdatasource { var data:nsmutablearray init(with data: nsmutablearray){ self.data = data } func tableview(tableview: uitableview, numberofrowsinsection section: int) -> int { return data.count } func tableview(tableview: uitableview, cellforrowatindexpath indexpath: nsindexpath) -> uitableviewcell { let cell = tableview.dequeuereusablecellwithidentifier("rowcell", forindexpath: indexpath) cell.textlabel?.text = data[indexpath.row] as? string return cell } }
here how tableview being set:
override func viewdidload() { super.viewdidload() self.title = "testing" tableview.datasource = insertintotableviewdatasource(with: data) tableview.delegate = insertintotableviewdelegate() }
why case?
uitableview
not retain datasource, datasource getting deallocated viewdidload
function ends.
you need hold reference datasource property in view controller. same thing delegate.
Comments
Post a Comment