UITextField setText无法更改文本

时间:2011-05-12 02:10:59

标签: iphone objective-c cocoa-touch

正在调用以下方法,变量days具有有效值。打印第4行时,输出为“TextField Text :( null)。daysTextField的地址为0x0(未实例化?)。

正确连接IBOutlets以及属性/合成。

这让我非常沮丧。

-(void)updateDays:(NSInteger)days
{
    [daysTextField setText:[NSString stringWithFormat:@"%d", days]];
    NSLog(@"TextField Text: %@", daysTextField.text);
}

非常感谢!

1 个答案:

答案 0 :(得分:5)

最可能的事情是daysTextField为零。如果这是Interface Builder的IBOutlet,请确保它正确连接。希望这会有所帮助。

你可以试试这个:

-(void)updateDays:(NSInteger)days
{
    NSString* s = [NSString stringWithFormat:@"%d", days];
    NSAssert(s, @"string is nil");
    NSAssert(daysTextField, @"daysTextField is nil");
    [daysTextField setText:s];
    NSLog(@"TextField Text: %@", daysTextField.text);
}

您的程序将在一个或另一个断言上崩溃到调试器中,您将获得答案。字符串不太可能是零。