【发布时间】:2013-02-24 22:21:40
【问题描述】:
我正在创建一个 ipad 应用程序,我需要在 ParentViewController 的视图中显示 ChildViewController,下面的代码完美运行。
- (void)viewDidLoad
{
FavViewController *aViewController = [[FavViewController alloc] initWithNibName:@"FavViewController" bundle:nil];
[self.mainView addSubview:aViewController.view];
[super viewDidLoad];
}
当这个favViewController 加载到父视图的self.MainView 时,childViewController 中的所有控件都显示正常,但是当我单击 UIButton 时,应用程序崩溃了。下面是崩溃的日志。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteMapTable myAction:]: unrecognized selector sent to instance 0x8093170'
*** First throw call stack:
(0x1733012 0x1558e7e 0x17be4bd 0x1722bbc 0x172294e 0x156c705 0x4a02c0 0x4a0258 0x561021 0x56157f 0x560222 0x4cfb1d 0x4cff02 0x4add4a 0x49f698 0x25fddf9 0x25fdad0 0x16a8bf5 0x16a8962 0x16d9bb6 0x16d8f44 0x16d8e1b 0x25fc7e3 0x25fc668 0x49cffc 0x255d 0x2485 0x1)
libc++abi.dylib: terminate called throwing an exception
【问题讨论】:
-
'-[NSConcreteMapTable myAction:]: unrecognized selector表示您在某处有一个指向 NSConcreteMapTable 的指针,并且您尝试使用它调用“myAction”。记住,指针的类型并不能保证指向的对象就是那个类型——你很容易搞砸并把错误的对象类型放入指针中。 -
我找到了解决方案,我需要添加以下代码 '[self addChildViewController:aViewController];'
标签: xcode ipad uiviewcontroller uibutton