执行segue时出错: - [UITextField length]:发送到实例的无法识别的选择器

时间:2014-02-24 01:04:02

标签: ios objective-c uiviewcontroller uitextfield uistoryboardsegue

我有一些代码可以更改到我的应用中的另一个屏幕:

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData*)data {
    NSString *dataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"Performing Segue...");
    // Open detail segue
    [self performSegueWithIdentifier:@"DetailViewSegue" sender:dataString];
}

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)json
{
    NSLog(@"Testing...");
    // If we are going to the success view, send the JSON data over as well!
    if ([segue.identifier isEqualToString:@"DetailViewSegue"]) {
        DetailViewController *DetailViewControllerSegue = [segue destinationViewController];
        NSDictionary *jsonSendetAsParamInPerformSegue = (NSDictionary*)json;
        DetailViewControllerSegue.jsonString = jsonSendetAsParamInPerformSegue;

    }
}

当我尝试执行segue时,我收到此错误:-[UITextField length]: unrecognized selector sent to instance 0x14589970

错误是什么意思?我该如何解决?

谢谢,

彼得

2 个答案:

答案 0 :(得分:2)

UITextField没有名为length的选择器。你可能想要的是在文本字段的length属性上调用text

[someTextField.text length]

(实际上我没有看到任何与发布代码中的文本字段相关的内容......但这是给定错误消息的唯一解释)

答案 1 :(得分:0)

出现此错误的原因是因为我的故事板Segue标识符中有一个拼写错误而且它不匹配:

@"DetailViewSegue"

在:

[self performSegueWithIdentifier:@"DetailViewSegue" sender:dataString];

我希望将来能帮助其他人

彼得