我尝试使用我选择的单元格中的文本打开stsales *insertsale(stcustomers* customer, stproducts* product) {
p = malloc(sizeof(stsales)); // no error checking, just a demo!
if (p != NULL) {
sal[n++] = p;
p->customer = customer;
p->product = product;
}
return(p);
}
两个UIAlertView
。我使用这段代码:
textfield
但问题是,即使我在行上单击(单击),文本也会更改为默认文本。我希望你明白我的意思。
答案 0 :(得分:2)
我认为你的代码是错误的,因为你每次用户点击一个单元格时都会创建一个UITapGestureRecognizer,而不是在单元格加载时,而且你将它分配给视图而不是单元格。
所以试试这个:
移动此代码:
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(edit:)];
tapRecognizer.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:tapRecognizer];
[tapRecognizer requireGestureRecognizerToFail:tapRecognizer];
初始化单元格后的cellForRowAtIndexPath方法,并将[self.view addGestureRecognizer:tapRecognizer];
更改为[cell addGestureRecognizer:tapRecognizer];
,因为您要将手势添加到单元格而不是视图。
我不知道这是否真的能解决你的问题,但我认为你的代码中有两件事是错误的。理论上它应该有用。
编辑:
还尝试将警报初始化的消息设置为nil
。此外,是否真的有必要使用NSUserDefaults来存储这些变量?它们不能仅存储在两个NSString属性中,还是由于某种原因持久保存这些变量?