gpt4 book ai didi

ios - RubyMotion UITableView 数据源未正确返回

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:40 25 4
gpt4 key购买 nike

我是 RubyMotion 的新手.使用此 Controller :

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 应该 返回一个单元格。我不明白为什么它不起作用。

如有任何帮助,我们将不胜感激。

最佳答案

您的两个 tableView 方法嵌套在 viewDidLoad 方法下。它们应该被移出,成为主要 LectureController 类的一部分。

在一个典型的 Ruby 类中,您可能能够避免这种情况(调用 viewDidLoad 方法动态定义其他方法),但由于代码被转换/编译。

关于ios - RubyMotion UITableView 数据源未正确返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14293680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com