我是RubyMotion的新手。使用此控制器:
class LectureController < UIViewController
def viewDidLoad
super
self.view.backgroundColor = UIColor.whiteColor
@lectures ||= []
Lecture.get() do |success, lectures|
if success
@lectures = lectures
p "Received #{@lectures.length} lectures"
@table.reloadData
else
App.alert("OOPS!")
end
end
@table = UITableView.alloc.initWithFrame(self.view.bounds)
self.view.addSubview @table
@table.dataSource = self
def tableView(tableView, numberOfRowsInSection: section)
@lectures.count
end
def tableView(tableView, cellForRowAtIndexPath: indexPath)
@reuseIdentifier ||= "CELL_IDENTIFIER"
cell = tableView.dequeueReusableCellWithIdentifier(@reuseIdentifier) || begin
UITableViewCell.alloc.initWithStyle(UITableViewCellStyleDefault, reuseIdentifier: @reuseIdentifier)
end
cell.textLabel.text = @lectures[indexPath.row].name
cell
end
end
def initWithNibName(name, bundle: bundle)
super
self.title = "Lectures"
self
end
end
我遇到以下错误消息:
Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'UITableView dataSource must return a cell from
tableView:cellForRowAtIndexPath:'
据我所知,cellForRowAtIndexPath
应该是返回一个单元格。我不知道为什么它不起作用。
任何帮助将不胜感激。