UITextField文本值返回垃圾

时间:2009-12-01 12:20:46

标签: iphone objective-c iphone-sdk-3.0

当用户取消键盘时,我试图从textField中获取字符串值。但是,似乎每当我尝试获取值时,我都会获得垃圾(尝试打印出textField.text会产生垃圾)。我能做错什么?

(控件显示正常,我甚至可以将文本值放入其中)。

这是我的代码:

-(BOOL)textFieldShouldReturn:(UITextField *)textField {

    NSInteger currenttag = textField.tag;

    NSLog(@"%d",textField.tag);

    if (currenttag == 0) {
        NSLog(@"%x %s",(unsigned int)textField.text,textField.text);
        username = textField.text;
    } else if (currenttag == 1) {
        password = textField.text;
    }

    [textField resignFirstResponder];

    return YES;
}

字段用户名和密码是nil NSString *的,但由于我只是坚持使用textField.text持有的NSStrings,所以应该没问题。

3 个答案:

答案 0 :(得分:1)

NSLog(@"text field text:%@",textField.text);

答案 1 :(得分:0)

您是否尝试过使用断点?你试过NSLog(@"%@", textField.text);吗? 您是否尝试重写该功能以便仅显示文本?

textField是否是有效对象?

答案 2 :(得分:0)

插入[textField retain];因为第一行可能会解决问题。只记得添加一个[textField release];在方法的最后。