我的 UITableView 单元格没有给我正确的信息

Posted

技术标签:

【中文标题】我的 UITableView 单元格没有给我正确的信息【英文标题】:My UITableView cell is not giving me the right information 【发布时间】:2015-02-11 18:22:17 【问题描述】:

我的 UITableView 中有近 30 个单元被占用。我使用情节提要模式来创建表格。当我试图调用我选择的单元格时,无论我选择什么单元格,它都注册为 0。如何让我的手机注册我推送的确切号码并将其插入到我的 currentTag 中? 这是我到目前为止所拥有的

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
        return catNames.count;
    

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
        var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell

        cell.textLabel?.text = catNames[indexPath.row]
        cell.textLabel?.textColor = UIColor.whiteColor()
        cell.backgroundColor = UIColor(red: 0x0e/255, green: 0x1b/255, blue: 0x35/255, alpha: 1.0)
        cell.textLabel?.textAlignment = NSTextAlignment.Left
        cell.textLabel?.lineBreakMode = NSLineBreakMode.ByTruncatingMiddle
        cell.textLabel?.adjustsFontSizeToFitWidth = true
        return cell
    

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

        currentTag = tableView.tag
        println("This is the \(currentTag)")
        self.performSegueWithIdentifier("table2Segue", sender:self)

    

【问题讨论】:

使用currentTag = indexPath.row。您的tableView 将始终将tag 设为0,除非您将其设置为其他值。 【参考方案1】:

使用indexPath.row 找出它是哪个单元格。如果您有部分,您还需要使用indexPath.section

【讨论】:

是的,我发现我做错了什么导致与 indexPath.row 发生冲突。谢谢!!【参考方案2】:

NSIndexPath 为表格视图选择提供部分和行。

类似于通过catNames[indexPath.row] 设置单元格的文本,您应该使用indexPath.row 来确定被点击的单元格的索引。

因此:

currentTag = indexPath.row;

【讨论】:

哦,好吧!很高兴知道这背后的逻辑!谢谢

以上是关于我的 UITableView 单元格没有给我正确的信息的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 没有正确地为在屏幕外重新排序的单元格设置动画

UITableView有单元格,但没有显示单元格

UITableView 单元格标签在滚动时截断

当 UICollectionView 和 UITableView 没有行/单元格时,“未找到行”

UITableView“有时”无法正确绘制单元格

带有 SearchView 的 UITableView 使新单元格在搜索时与旧单元格重叠