2015-05-19 10 views
5

aufrufen Neu bei Swift, das funktionierte für mich mit Objective-C. Ich bin mir nicht sicher, ob das ein Syntaxproblem ist oder ob ich mein Projekt falsch eingerichtet habe.Kann nicht "registerClass" auf UITableView in Swift

Zunächst einmal ist dies der Fehler, ich sehe (Linie 5 von JobsViewController, die Linie, die mit self.tableView.registerClass beginnt):

Cannot invoke 'registerClass' with an argument list of type '(UITableViewCell.Type, forCellReuseIdentifier: String)'

JobsViewController

class JobsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell") 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 0 
    } 

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

    func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) { 

    } 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    } 
} 

Google war nicht sehr hilfreich, würde einige Hilfe schätzen!

+2

Ihr Beispiel-Code ist unvollständig, da es keine Eigenschaft 'tableView' in' JobsViewController' ist. – fluidsonic

+3

Wahrscheinlich sollte JobsViewController von UITableViewController anstelle von UIViewController erben. –

Antwort

0

Offenbar haben Sie den benutzerdefinierten Klassenklassennamen im Storyboard für diese Tabelle nicht eingerichtet. Sie müssen JobsViewController aus der Pulldown-Liste auswählen. Dann werden Sie

@IBOutlet weak var tableView: UITableView! 

in Ihrem Code.

1
var cell : UITableViewCell = UITableViewCell() 

feedTableView.registerClass(cell.classForCoder, forCellReuseIdentifier: "cellidentifier") 

Versuchen mit über Codezeilen

4

funktioniert in Swift 3

tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") 
Verwandte Themen