2016-03-21 4 views
0

Ich habe eine benutzerdefinierte UITableView, die ich programmatisch zu meinem UIView hinzufügen.So registrieren Sie eine Klasse, anstatt eine XIB für eine UITableViewCell zu erstellen

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    // This line fails on me 
    cell = tableView.dequeueReusableCellWithIdentifier("ParentCell", forIndexPath: indexPath) 

Mein dequeueReusableCellWithIdentifier Methode stürzt meine Anwendung, weil ich keine xib Datei hinzugefügt haben, lassen Sie setzen allein ihre Kennung als „ParentCell“.

Aber ich würde lieber weg von der Verwendung des Storyboards dafür, und ich frage mich, ob es möglich ist, dies programmgesteuert in meinem UITableView zu erreichen.

Das ist mein viewDidLoad Code, wo ich meine tableView

var tableView = UITableView() 

tableView.frame  = CGRectMake(0, 250, self.view.frame.width, 300) 
tableView.delegate = self 
tableView.dataSource = self 
containerView.addSubview(tableView) 

Irgendwelche Ideen instanziiert?

+0

Dies alles wird in dem [Table View Programmierhandbuch für iOS] dokumentiert (https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/AboutTableViewsiPhone/AboutTableViewsiPhone.html#//Apple_ref/doc/uid/TP40007451). – rmaddy

Antwort

3

Setzen Sie dies in ViewDidLoad-Methode Ihres View-Controllers.

tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "ParentCell") 
Verwandte Themen