在我的DetailViewController.m
中,rowNumber
值运行良好。但是,当该值无法应用于viewDidLoad
时,rowNumber
为零。我该如何解决这个问题?
//DetailViewController.m
-(void)updateRowNumber:(int)theindex
{
rowNumber = theindex + 1;
message.text = [NSString stringWithFormat:@"row %d was clicked", rowNumber];
NSLog(@"ID #000%d", rowNumber);
}
-(void)viewDidLoad
{
message.text = [NSString stringWithFormat:@"row %d was clicked", rowNumber];
}
答案 0 :(得分:4)
目前还不清楚你要做什么,但很明显你应该使用tableview委托方法:
看起来你确实需要以下方法:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
您希望将rowNumber存储为:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
int rowNumber = indexPath.row;
}
或者,如果仍然选择了行,并且您想要在其他地方获取该索引,则可以执行以下操作:
NSIndexPath *index = [self.tableView indexPathForSelectedRow];
int rowNumber = index.row;
但请查看开发站点上的所有方法: