在委托方法内进行更改时,查看未反映的更改

时间:2014-02-17 11:34:47

标签: ios objective-c

我有一个班级A,其中有代表。代表正在另一个班级B中实施。

B我有一个文本字段,我试图在调用委托时隐藏它。

- (void) didRecieveResponseDelegate : (BOOL) status{
      textField.hidden = YES;
} 

但是textField没有隐藏。我注意到在委托中没有任何与视图相关的更改,包括删除子视图控制器。问题是什么?我该如何解决?

编辑:B是另一个视图控制器的子视图控制器

2 个答案:

答案 0 :(得分:0)

试试这个,

- (void) didRecieveResponseDelegate : (BOOL) status{

     dispatch_async(dispatch_get_main_queue(), ^{
             textField.hidden = YES;
     });
}

答案 1 :(得分:0)

  1. 该方法是否被调用? (断点或NSLog来证明它)。
  2. 为什么使用带有前导下划线的实例变量?这会导致代码中的错误和混乱以及不信任。
  3. textField实际设置或是否为零? NSLog来证明这一点。
  4. 修复方法名称中的拼写错误。很可能调用didReceiveResponseDelegate而不是didRecieveResponseDelegate。
  5. 确保您不从后台线程进行UI调用。