'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];
}
答
您可能已声明相同的UITextField
名称为textField
。
IBOutlet UITextField * textField;
检查textfield
:例如,它可能有可能你在.h
文件或.m
文件,如下声明。
+0
类名称UITEXTField拼写错误。不知道代码如何编译。这个答案可能是正确的。你的假设(以及你没有明确表达的解决方案)的测试是重新命名参数。 – danh
答
UITextField
委托方法textFieldShouldReturn:
为调用者提供了一个参数来告诉源文本字段实例。当它发生时,您的实例变量与委托方法提供的名称具有相同的名称textField
。 因此,为了避免该警告,在委托方法定义
-(BOOL) textFieldShouldReturn:(UITextField *)aTextField{
而且该方法需要在返回一个布尔值更改参数名称。你应该在你的方法定义中提供它
请告诉问题是什么。你刚刚给出了代码。 – Durgaprasad
请提供更多细节。我们没有得到你想要的。 –
由于@Mital建议,请将UITextField实例名称更改为“textField”以外的其他名称 – ilight