0

我知道有很多关于这个问题的问题,但是我已经阅读了每个人,但我仍然遇到问题,在所有其他问题中,解决方案是添加一个属性,或者如果询问的人只是忘记将其链接到 ViewController。我已经完成了所有这些,它仍然不会更新!

我的.h:

@property(strong,nonatomic) IBOutlet UITextField *textField;

-(void)setCoords:(NSString *)coordinates tag:(int)tag;

.m

@synthesize textField;

设置从另一个视图切换时调用的文本的函数:

-(void)setCoords:(NSString *)coordinates tag:(int)tag {
    NSLog(@"1 %@", textField);
    textField = [[UITextField alloc] initWithFrame:CGRectMake(0,0,206,30)];
    NSLog(@"2 %@", textField);
    if (tag == 0) {
       [textField setText:coordinates];
       [self.view addSubview:textField];
       NSLog(@"3 %@", textField);
    }
    NSLog(@"%@", textField.text);
}    

outputfrom the总是NSLogNULL但如果我只有NSLog字符串coordinates,我会得到字符串。

有什么我错过/不知道/或做错了吗?

更新更新了功能

NSLog 1 loggs NULL
NSLog 2 loggs <UITextField> 0x855b300; frame: = (0 0; 206 30) and some more stuff.
NSLog 3 loggs same as log 2
4

3 回答 3

0

我的 UITextView 在 Interface Builder 中创建时遇到了同样的问题。一切都正确连接,我确保我 NSLogged 值以确保它们出现。

要检查的两件事:

  1. 确保您的文本颜色未设置为清除!(使用占位符文本进行测试)
  2. 您必须在 Interface Builder 中为“可选”文本设置复选标记。如果您不希望它可选择,则必须在设置文本值后以编程方式将其更改为 OFF。

我的问题是#2。这绝对是一个 XCode 错误,但我很高兴我没有太疯狂地解决了它。

于 2015-01-21T23:29:57.207 回答
0

首先记录文本字段(可能为零)。然后记录文本字段的标签,最后记录坐标字符串。再次运行。现在你知道问题所在了。

于 2013-06-02T12:51:55.940 回答
0

你的 if (tag == 0) [textField setText:(coordinates)];路线不会被执行。

检查tag==0条件,如果不能验证为真。

于 2013-06-02T12:49:07.010 回答