推送新UIVIew后获取行选择索引

时间:2013-07-19 06:08:01

标签: iphone ios objective-c uitableview nsindexpath

我遇到了一个问题:当我选择行并获取行索引时,会调用新的UIView。当UIView消失时,当前行的索引为null ( 0x000000)。这是我的代码:

我声明了rowupdate变量:

NSInteger rowupdate;

didSelectRowAtIndexPath():我得到了行的索引并推送UIView

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
    DetailView *detailAlert;
    rowupdate = indexPath.row;
     detailAlert = [[DetailView alloc] init];
            [self.view addSubview:detailAlert];
            [detailAlert show];
            [detailAlert release];

           }
}

然后UIView消失,我打电话给:

[resevFileName replaceObjectAtIndex:rowupdate withObject:memotext];

但是在控制台打印中,rowupdate为null(0x000000),而resevFileName数组也为null(0x00000)。有人有建议吗?谢谢

4 个答案:

答案 0 :(得分:0)

将变量初始化为:

NSInteger rowupdate;

希望这有帮助。

答案 1 :(得分:0)

我认为当你将行声明为:

时它应该有效
int rowUpdate
<。>在.h文件中。

但也尝试:

static  int row;
<。>在.m文件中。

答案 2 :(得分:0)

如果我理解你的答案是正确的,我认为你需要在详细信息视图中使用当前选择的索引吗?

如果出现这种情况,您只需要在详细视图中声明一个属性:

@property(nonatomic,readwrite) NSInteger rowupdate;

和你的didSelectRowAtIndexPath:

  - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
   DetailView *detailAlert=[[DetailView alloc] init];
    detailAlert.rowupdate = indexPath.row;
            [self.view addSubview:detailAlert];
            [detailAlert show];
            [detailAlert release];

           }
}

答案 3 :(得分:-1)

NSInteger *rowupdate;应为NSInteger rowupdate;而不是“ *

NSInteger是原始数据类型。