gpt4 book ai didi

ios - Swift UITableView 响应用户点击单元格时的响应

转载 作者:搜寻专家 更新时间:2023-11-01 05:45:44 24 4
gpt4 key购买 nike

在 TableViewController 中我有这段代码:

override func viewDidLoad(){

super.viewDidLoad()

self.tab = UITableView(frame: CGRectMake(8, 80, 584, 512), style: UITableViewStyle.Plain)
self.tab?.delegate = self
self.tab?.dataSource = self
self.tab?.registerClass(CustomCell.self, forCellReuseIdentifier: "cell")
self.tab?.reloadData()

self.view.addSubview(tab!)

}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if let count = self.data.count {
return count
}
return 0
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as? CustomCell
if cell == nil {
cell = CustomCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "cell")
}
if let item = self.data[indexPath.row] as DataItem? {
// cell.updateWithDataItem(item)
// this line is commented out because the error occurs with or without this line
}
return cell
}

在我的 CustomCell 中我有这段代码:

override func setSelected(selected: Bool, animated: Bool){
super.setSelected(selected, animated: animated)
println("cell selected \(id)")
}

当我从服务器获取我的 JSON 数据时,我的 TableViewController 中有这段代码,它填充了表 self.tab:

self.data = JSONData
dispatch_async(dispatch_get_main_queue(), {
self.tab?.reloadData()
})

我的问题是,当我填充 self.tab 时,我的 UITableView 最终出现在控制台中

cell selected f4324
cell selected f4325
cell selected f4326
cell selected f4327
cell selected f4328
...... and so on .....

就好像单元格在添加到我的 UITableView 中时被选中一样。

  • 这是 UITableView 的典型行为吗?

  • 我想停止这种行为并拥有仅响应用户交互(而不是正在填充的表)的代码。我怎样才能做到这一点?

最佳答案

是的,这是 UITableView 和 UITableViewCell 的正常行为。使其响应用户交互。你可以实现 UITableView 的委托(delegate)方法:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath);

当用户点击单元格时调用此函数。

关于ios - Swift UITableView 响应用户点击单元格时的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27400915/

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