在我的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];
}
最佳答案
目前尚不清楚您要做什么,但是很明显您应该使用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;
但是请检查开发站点上的所有方法:
http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html
关于ios - 为什么我的UITableView rowNumber为零?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16697261/