在 didselect 行中我的第一行返回标签文本而不是我的自定义标签文本

Posted

技术标签:

【中文标题】在 didselect 行中我的第一行返回标签文本而不是我的自定义标签文本【英文标题】:in didselect row my first row returnig label text instead of my custom label text 【发布时间】:2014-12-17 08:10:09 【问题描述】:

这里我有一个表格视图,我在其中添加了存储一些自定义标签 来自数组的测验 id 其中 cell.textlabel.text 存储数组中的测验名称

问题: 当我在 didselectRowAtIndexPath 中选择第一行时 它返回 cell.textlabel.tex 但对于第二行,它返回正确的值,即 测验ID

这里是代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    static NSString *CellIdentifier = @"CellId";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];


cell.textLabel.text = [quizname objectAtIndex:indexPath.row];

UILabel *lbl = [[UILabel alloc]init];
lbl.tag=indexPath.row;
[cell addSubview:lbl];
lbl.text = [quizIds objectAtIndex:indexPath.row];

return cell;

在选择行中

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UILabel *label = (UILabel *) [cell viewWithTag:indexPath.row];
NSString *qid =label.text;
NSLog(@"%@",qid);


我得到的 quid 等于第一行的 cell.texlabel.text 但在其他行中不等于 他们正在完美地获得测验ID

任何对我最有价值的帮助

【问题讨论】:

【参考方案1】:

尝试使用 customTableViewCell 并在 customCell 中添加您的标签。在 cellForRowAtIndexPath 中添加 UILabel 不是一个好方法。

【讨论】:

不错的答案,但 cellforRowatIndexpath 中的错误是什么 使用断点并检查 cellForRowAtIndexPath。添加条件,如。 if (indexPath == 0) cell.textLabel.text = [yourArray objectAtIndex: 0]; elsecell.textLabel.text = [yourArray objectAtIndex:1]。并在 didSelectRowAtIndexPath 中使用断点并检查它是否抛出正确的值。 您在选择行后遇到问题?

以上是关于在 didselect 行中我的第一行返回标签文本而不是我的自定义标签文本的主要内容,如果未能解决你的问题,请参考以下文章

在文本文件 C++ 上返回一行

从文本文件中提取一行中的第二个单词

如何避免以特定符号开头的行中字符串的文本突出显示[java]

多行中的 D3 折线图轴文本标签

如何解决 ext js3 中出现的多个文本字段?

如何在一个共同的起点在不同的行中对齐我的文本