如何从UITableView中的选定行获得cell.label.text值?(How to get

2019-08-07 02:14发布

我在iPhone应用程序开发新的,我需要在UITableView的帮助。 由于我是填充表视图使用JSON data.I我还使用自定义Tableviewcell也。 我没有得到的“lbluid”选定单元格的“huid”值。 该“lbluid”正显示出“huid”根据滚动,我会向上滚动,它会显示在UITableView中的最上层可见单元的“huid”值,如果我向下滚动,它会显示最后的“huid”价值的价值从下可见细胞。

- (UITableViewCell *)tableView:(UITableView *)tableView
     cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *simpleTableIdentifier = @"SimpleTableCell";
    SimpleTableCell *cell = (SimpleTableCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil)  {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SimpleTableCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];;
    }

    NSUInteger row = [indexPath row];

    cell.lbl4.text = [hudid objectAtIndex:row];
    lbluid.text=cell.lbl4.text;
    return cell;
}

Simpletablecell是自定义UITableViewCell

Answer 1:

您可能需要实施方法:

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

其被称为被选择的行的每个时间,并且该方法内:

Simpletablecell *cell = (Simpletablecell *)[tableView cellForRowAtIndexPath:indexpath];
lbluid.text = cell.lbl4.text;

方法:

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

被称为表视图加载它是要显示的细胞,这就是为什么你lbluid.text当表视图滚动仅改变。



Answer 2:

在斯威夫特

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

       let cell = tableView.cellForRow(at: indexPath) as! NotesCell!
        let value = cell?.lblDetail.text
    }


文章来源: How to get the cell.label.text values from a selected row of UITableview?