我遇到了一个问题:当我选择行并获取行索引时,会调用新的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)。有人有建议吗?谢谢
答案 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
是原始数据类型。