我的情况:我想在第1节中索引X的行X中保存数据。
我的代码是:
config/initializers/chat_app.rb
我的问题是只传递了Array SetObjectToPass的第一个索引并设置为# This file will start and establish an initial connection to the chat app
`chat-app --some-arg` # <== The chat app
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return setObjectToPass.count
}
override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return "Section \(section)"
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cellEmpty = tableView.dequeueReusableCellWithIdentifier("LabelCell")
var countCell = 0
while countCell < setObjectToPass.count {
let indexPaths = NSIndexPath(forRow: countCell, inSection: 0)
let cell = tableView.dequeueReusableCellWithIdentifier( "LabelCell", forIndexPath: indexPaths)
cell.textLabel!.text = String(setObjectToPass[countCell])
print(cell)
countCell+=1
return cell
}
答案 0 :(得分:1)
您正在错误地实施tableView(_:cellForRowAtIndexPath:indexPath:)
方法。
请记住,UITableViewDelegate
中的每个委托方法就像问你一个问题。例如,numberOfSectionsInTableView(_:)
就像问你“你在桌子视图中想要多少个部分?”。您可以通过返回值来回答问题。
tableView(_:cellForRowAtIndexPath:indexPath:)
类似。它也提出了一个问题。它询问“我应该在这个索引路径的表行中显示什么?”
在您的代码中,您似乎想要提供多个答案 - 循环遍历数组并尝试多次返回。但它不起作用,你只能给出一个答案。
在while
循环的第一次迭代中,执行命中return
并停止。这就是为什么你只能看到第一个表格单元格。
因此,您应该更改代码,以便只提供问题的一个答案:
let cell = tableView.dequeueReusableCellWithIdentifier("LabalCell")
cell.textLabel?.text = String(setObjectsToPass[indexPath.row])
return cell
答案 1 :(得分:0)
不要在gem install debug_inspector -v '0.0.2'
委托方法中使用循环。 cellForRowAtIndexPath
方法根据cellForRowAtIndexPath
个计数行调用每一行,只需使用numberOfRowsInSection
,使用此代码,
indexpath.row
希望它有用