UITextfield未显示已分配的NSString

时间:2013-01-21 14:25:39

标签: objective-c xcode uitextfield

UITextfield显示null,尽管nsstring有值...

我在IB中使用了uitextfield。 IB中的连接正确。

这是.h文件

{
    IBOutlet UITextField    *dobTextField;
}

@property (nonatomic, retain) UITextField    *dobTextField;

在.m文件中

@synthesize dobTextField;

-(void)displayDOB:(NSString*)str
{
    NSLog(@"%@", str);
    dobTextField.text = str;
}

在日志中它显示了一些值...但是dobTextField显示为null ...我试过

dobTextField.text = [NSString StringWithValue:@"%@", str]; 

但没有用....

请帮帮我们。

2 个答案:

答案 0 :(得分:1)

尝试做...

NSLog(@"%@", self.dobTextField);

是没有? (它不应该是)

听起来你可能没有连接IB的插座。

修改

嗯......第二个想法我觉得你很困惑。

  1. 从.h文件中删除ivar。只需使用@property。

    @property (nonatomic, retain) IBOutlet UITextField *dobTextField;
    
  2. 从.m文件中删除@synthesize。

  3. 在displayDOB函数中使用此...

    self.dobTextField.text = str;
    
  4. 这将确保所有内容都引用相同的内容,并且在涉及属性时也使用最佳实践方法。

答案 1 :(得分:-1)

您似乎没有在xib中设置UITextField的出口

在界面构建器中检查

另外, 改变这一行

@property (nonatomic, retain) UITextField    *dobTextField;

@property (nonatomic, retain) IBOutlet UITextField    *dobTextField;

另外,更改此行

dobTextField.text = str;

self.dobTextField.text = str;

希望这可以帮助你..