为什么我的UITableView rowNumber为零?

时间:2013-05-22 16:42:08

标签: ios uitableview

在我的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];
    }

1 个答案:

答案 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;

但请查看开发站点上的所有方法:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html