2012-06-26 88 views
0

我正在阅读一些教程,用于编辑其数据存储在服务器中的表格单元格。一切工作正常 - 我可以编辑表格单元格,然后单击“保存”按钮,但如果我回到表格概述,它不会更新。 我有3表中的字段:单元格数据不更新

  • titleField
  • authorField
  • atextField

我不知道,如果问题来自于这一段代码,但我想是这样。本教程例子中只有2场,我需要3场,但我不知道如何实现这段代码3个文本框:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 
    if (textField == titleField) { 
     [authorField becomeFirstResponder]; 
    } 
    if (titleField == authorField) { 
     [self save]; 
    } 
    return YES; 
} 

我已经尝试过if (titleField == authorField == atextField),但错误信息说:Comparison between pointer and integer ('int' and 'UITextField') 。我也尝试过if (titleField == authorField && titleField == atextField && authorField == atextField){,我没有收到错误,但它并没有改变数据不会更新更改的事实。

上面的代码应该如何显示?

回答

2

那些IF的不要有感觉,你不能做到这一点:

if (titleField == authorField == atextField) 

因为你是比较第一==与文本框,因此指针和整数误差之间的比较结果。

在第二届一个,

if (titleField == authorField && titleField == atextField && authorField == atextField) 

这是永远不会被调用,因为titleField不能在同一时间三两件事。

我首先想到的会做这样的事情:

if (textField == titleField) { 
      [authorField becomeFirstResponder]; 
     } 
    else if ((textField == authorField){ 
      [atextField becomeFisrtResponder]; 
    else if (titleField == atextField) { 
      [self save]; 
     } 

我想这是你想要做什么。

+0

谢谢,我明白你的意思了!不幸的是,它仍然不能解决我的问题。所以这个问题可能是我想的其他地方。不管怎么说,多谢拉。 – Kirinriki

相关问题