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
必要があります。なぜうまくいかないのかわかりません。
どんな助けでも大歓迎です。