我尝试在swift中测试tableview。
我将此代码编写如下
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 100
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("ChecklistItem") as UITableViewCell
let label = cell.viewWithTag(1000) as UILabel
for var i = 0; i < 100 ; i++ {
label.text = "I am in indexPath.row= \(indexPath.row)"
println("I am in indexPath.row= \(indexPath.row)")
}
}
我想显示句子&#34;我在indexPath.row = i&#34;在100行中我得到了我在模拟器中预期的结果
但是当我查看调试区域时,我看到一些非常奇怪的东西,因为在循环内部,我分配了标签,并且我还println()
indexPath.row。但是println()
在调试区域打印&#34;我在indexPath.row = 0&#34;和&#34;我在indexPath.row = 0&#34;和&#34;我在indexPath.row = 0&#34;像这样。
请查看此链接中的照片。因为我没有足够的声誉来发布图片。 https://www.dropbox.com/s/5ed2plgsb520lgq/Screen%20Shot%202014-12-21%20at%205.14.37%20PM.png?dl=0
https://www.dropbox.com/s/tvguwz51nmfzwgu/Screen%20Shot%202014-12-21%20at%205.14.51%20PM.png?dl=0
答案 0 :(得分:0)
for
循环服务的目的是什么?这是你看到重复打印的原因。 tableView cellForRowAtIndexPath
负责循环遍历单元格,因此您根本不必担心循环。