我有每个单元格上有一些名称的tableview,如何在选择行时获得该名称?
我知道我必须使用委托方法
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
但我怎么能得到那一行的标题?
提前致谢
问候
答案 0 :(得分:54)
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
NSString *cellText = selectedCell.textLabel.text;
}
此代码段检索所选单元格并将其text
属性存储在NSString
中。
然而,我不推荐这个。最好将数据和表示层分开。使用后备数据存储(例如,数组)并使用传递的indexPath
对象中的数据(例如,用于访问阵列的索引)访问它。此数据存储将与用于填充表的数据存储相同。
答案 1 :(得分:9)
假设您使用的是标准UITableViewCell,则可以使用
获取单元格UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
然后通过以下方式访问文本属性视图属性:
cell.textLabel.text
cell.detailTextLabel.text
答案 2 :(得分:3)
您可以使用以下(uitableview-)函数访问uitabelview的每一行:
cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]
顺便说一下,要使用uitableview的委托方法以外的其他方法访问你的tableview,你必须把它挂在IB中(例如..)
希望有所帮助
答案 3 :(得分:2)
通过UITableView委托属性将一个类注册为委托后,您只需实现tableView:didSelectRowAtIndexPath:
方法,该方法将在用户选择行时调用。 (有关详细信息,请参阅UITableViewDelegate Protocol Reference。)
然后,您可以通过...
从所选单元格中提取标签文本- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSString *cellLabelText = cell.textLabel.text;
}
..如果这真的是你需要的。
答案 4 :(得分:0)
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *rowTitle=[tableView cellForRowAtIndexPath:indexPath].textLabel.text;
}
下面,
[tableView cellForRowAtIndexPath:indexPath]为您提供所选单元格,然后.textLabel.text为您提供该单元格的标签。