Swift的新手,这对Objective-C来说非常适合我。不确定这是否是语法问题,或者我的项目设置不正确。
首先,这是我看到的错误(在JobsViewController的第5行,以self.tableView.registerClass开头的行):
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一直没有太大帮助,希望得到一些帮助!
答案 0 :(得分:3)
在 Swift 3
中正常工作tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")
答案 1 :(得分:2)
var cell : UITableViewCell = UITableViewCell()
feedTableView.registerClass(cell.classForCoder, forCellReuseIdentifier: "cellidentifier")
尝试使用以上代码行
答案 2 :(得分:1)
请使用like
self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")
答案 3 :(得分:0)
看起来您还没有在此表的故事板中设置自定义类 - 类名。 您需要从下拉列表中选择JobsViewController。 然后你会得到
@IBOutlet weak var tableView: UITableView!
代码。
答案 4 :(得分:0)
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.delegate = self
self.tableView.dataSource = self
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell")
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell")
return cell
}
答案 5 :(得分:0)
对于Swift 4+,在包含列表的ViewController的ViewDidLoad中放置类似
self.listView.register(UITableView.self, forCellReuseIdentifier: "CellItentifier")