我知道有很多关于这个问题的问题,但我已经阅读了他们的每个人,我仍然有问题,在另外一个问题中,解决方案是添加一个属性,或者如果要求忘记将其链接到视图控制器。我已经做了所有这些,但仍然无法更新!
我的.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);
}
output
中的NSLog
始终为NULL
,但如果我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
答案 0 :(得分:0)
您的if (tag == 0) [textField setText:(coordinates)];
行没有被排除。
检查tag==0
条件,如果不能验证为真。
答案 1 :(得分:0)
首先记录文本字段(可能是零)。然后记录文本字段的标记,最后记录坐标字符串。再次运行。现在你知道了这个问题。
答案 2 :(得分:0)
我遇到了在Interface Builder中创建UITextView的问题。一切都正确连接,我确保我的NSLogged值确保它们出现。
要检查两件事:
我的问题是#2。这绝对是一个XCode错误,但我很高兴我解决它而不会太疯狂。