'textField'的本地声明隐藏了实例变量

时间:2013-06-19 05:30:20

标签: iphone ios5 ios6 ios4 xcode4.2

-(BOOL) textFieldShouldReturn:(UITEXTField *)textField 
{ 
    [textField resignFirstResponder]; 
    NSLog(@"text === %@",textField.text); 
    NSString *str = [NSStringWithFormat:@"%@",textField.text]; 
    NSLog(@" str --- %@",str);

    SecondViewController *secondController = [[SecondViewController alloc]init];      
    [self.navigationController pushViewController:secondController animated:YES]; 
    [secondController release]; 
}

2 个答案:

答案 0 :(得分:3)

您可能已声明与UITextField相同的textField名称。例如,您可能已在.h文件或.m文件中声明如下:

IBOutlet UITextField * textField; 

检查textfield

答案 1 :(得分:0)

UITextField委托方法textFieldShouldReturn:为调用者提供了一个参数,用于说明源文本字段实例。当它发生时,您的实例变量与委托方法提供的名称textField具有相同的名称。 因此,要避免警告,请将委托方法定义中的参数名称更改为

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

此方法还需要返回布尔值。您应该在方法定义中提供它