0

我有两个 UIViewController。在 view1 中,我使用 PIN 管理注释,所以我需要在用户单击附件控件时准确地推送 view2,我的代码是这样的:

-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
    NSLog(@"calloutAccessoryControlTapped");
    [self performSegueWithIdentifer:@"My identifier" sender:self];
}

编译时,我收到此警告:

Instance method '-performSegueWithIdentifer:sender:' not found (return type defaults to 'id')

运行时,应用程序显然会因这个堆栈而崩溃:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[view1 performSegueWithIdentifer:sender:]: unrecognized selector sent to instance 0x7d94ca0'

在情节提要中,我选择了 view1,ctrl+left click+ drop到 view2,然后我选择了push. 另外,我已将 segue 标识符设置为My identifier. 那么我在这里缺少什么?

4

1 回答 1

4

“performSegueWithIdentifer”有一个错字。缺少一个字母“我”。尝试“执行SegueWithIdentifier”。

于 2012-01-27T16:50:46.137 回答