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

问题描述:

-(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]; 
} 
+0

请告诉问题是什么。你刚刚给出了代码。 – Durgaprasad

+0

请提供更多细节。我们没有得到你想要的。 –

+0

由于@Mital建议,请将UITextField实例名称更改为“textField”以外的其他名称 – ilight

您可能已声明相同的UITextField名称为textField

IBOutlet UITextField * textField; 

检查textfield:例如,它可能有可能你在.h文件或.m文件,如下声明。

+0

类名称UITEXTField拼写错误。不知道代码如何编译。这个答案可能是正确的。你的假设(以及你没有明确表达的解决方案)的测试是重新命名参数。 – danh

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

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

而且该方法需要在返回一个布尔值更改参数名称。你应该在你的方法定义中提供它