首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在cellForRowAt indexPath外部访问UITableViewCell的行号

,可以通过以下方式实现:

  1. 在UITableViewDelegate的方法中,使用indexPath参数获取当前cell的行号。例如,在tableView(_:cellForRowAt:)方法中,可以将indexPath.row赋值给一个变量,然后在方法外部访问该变量即可。
代码语言:txt
复制
var selectedRow: Int?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
    // 配置cell的内容
    selectedRow = indexPath.row
    return cell
}

// 在方法外部访问selectedRow变量
if let row = selectedRow {
    print("当前选中的行号是:\(row)")
} else {
    print("没有选中任何行")
}
  1. 可以通过给UITableViewCell添加一个tag属性来标识行号。在tableView(_:cellForRowAt:)方法中,将indexPath.row赋值给cell的tag属性,然后在方法外部通过viewWithTag方法获取到对应的cell,并读取其tag属性即可得到行号。
代码语言:txt
复制
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
    // 配置cell的内容
    cell.tag = indexPath.row
    return cell
}

// 在方法外部访问cell的行号
if let cell = tableView.viewWithTag(row) as? UITableViewCell {
    let row = cell.tag
    print("当前选中的行号是:\(row)")
} else {
    print("没有选中任何行")
}

以上是两种常见的方法,可以在UITableViewDelegate的相关方法中获取UITableViewCell的行号,并在方法外部进行访问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • iOS-TableView统一数据源代理

    numberOfRowsInSection section: Int) -> Int { return 10 } func tableView(_ tableView: UITableView, cellForRowAt...indexPath: IndexPath) -> UITableViewCell { return UITableViewCell() } func tableView(_ tableView...: true) } 如果上面的代码每个VC中都实现一次,不仅写了很多重复代码,还增加了VC复杂度,所以我在想能不能有一个统一代理类,我们TableView只要遵循它,就不用每次都要写一大堆代理方法...网络请求:这里是做网络请求地方,并且将请求后数据保存在代理类中 刷新视图 确定cell类型:cell是通过它注册identifier来创建,所以根据indexPath来返回相应cell注册identifier...这样利于做高度缓存,也可以通过indexPath来动态返回 配置数据源:这里可以获取已经初始化号cell和其对应数据源,我们只需要将其赋值给cell即可 点击事件 上面这些步骤也不是固定,这里有链式编程思想

    92310
    领券