【发布时间】:2013-06-02 12:41:40
【问题描述】:
我知道关于这个问题有很多问题,但我已经阅读了每个人,但我仍然遇到问题,在其他问题中,解决方案是添加一个属性,或者如果提问者忘记将其链接到视图控制器。我已经做了所有这些,它仍然不会更新!
我的.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);
}
来自NSLog 的output 始终是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
【问题讨论】:
-
不确定,但为什么
(coordinates)中有括号? -
我写这个问题时的错误,我没有复制粘贴它,因为我不在我的Mac atm上。
-
在更新后的代码中,如果打印日志 3,那么最终日志必须与第一个日志匹配,否则您的应用会出现内存损坏问题。
-
创建一个展示错误的演示项目,提供 25 分的赏金,并将其发布到公共场所。这肯定会导致代码修复。
标签: ios uitextfield settext