Iphone 已将无法识别的选择器发送到实例
我的应用程序在模拟器中工作正常,但当我在手机上运行它时,会出现以下错误: 2010-04-05 21:32:45.119顶部 香蕉[119:207]*终止应用程序 由于未捕获的异常 “NSInvalidArgumentException”,原因: '*-[MethodViewController setReferringObject::无法识别 选择器已发送到实例0x16e930' 发生在这里:Iphone 已将无法识别的选择器发送到实例,iphone,Iphone,我的应用程序在模拟器中工作正常,但当我在手机上运行它时,会出现以下错误: 2010-04-05 21:32:45.119顶部 香蕉[119:207]*终止应用程序 由于未捕获的异常 “NSInvalidArgumentException”,原因: '*-[MethodViewController setReferringObject::无法识别 选择器已发送到实例0x16e930' 发生在这里: -(void)method { [UIView beginAnimations:@"View F
-(void)method {
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:0.50];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
MethodViewController *methodViewController = [[MethodViewController alloc] initWithNibName:@"MethodViewController" bundle:0];
NSManagedObject *selectedObject = self.referringObject;
methodViewController.referringObject = selectedObject;
[self.navigationController pushViewController:methodViewController animated:NO];
methodViewController.title = @"Method";
[UIView commitAnimations];
[MethodViewController release];
}
它在这条线上崩溃:
methodViewController.referringObject = selectedObject;
不知道如何解决这个问题,因为它在模拟器中工作,我相信它是相当基本的修复,任何帮助都将不胜感激。不知道为什么会发生这种情况,但此测试可能会产生一些有用的诊断信息:在崩溃的线路上设置断点,并在手机上构建和调试。然后在gdb提示符处键入“po methodViewController”,以找出该变量在运行时实际指向的对象类型。然后在模拟器中尝试同样的事情并进行比较。由于某种原因,你可能在电话中收到了一个错误类别的对象。了解它的实际类别可能会有所帮助 抓住救命稻草,但这里有一些其他东西需要检查:
MethodViewController是否有referringObject属性?是的,它在模拟器中正常工作,没有错误,我不明白为什么它不能在手机上正常工作。使用
@property
定义显示代码行。@property(非原子,保留)NSManagedObject*referringObject;可能是重复的感谢你的帖子,它似乎只是修复自己,奇怪!