我有一个问题,当我从某个视图控制器调用IBaction时,应用程序崩溃,但我可以在其他地方获得所需的结果。
基本上我有一个埋在标签栏控制器中的导航控制器。如果我从导航控制器的第一个视图调用IBActions它工作正常,但如果我用initWithNib创建一个视图并将其推送到navcontroller堆栈,然后尝试在viewcontroller的实例上调用IBAction我推堆叠应用程序崩溃。
当应用程序首次加载时,菜单栏中有一个“x”按钮,它会拉出一个地址簿选择器。这很好用。如果单击菜单栏中的“新建”按钮,则会创建propper视图并将其推送到堆栈中。这个新视图有一个名为“sellect bill to”的按钮,它只在IBAction调用中有一个日志语句,但仍会导致崩溃。 “选择账单到”按钮的IBAction是视图控制器中的位置。
任何解开这个的帮助都会受到赞赏。
找到答案 0 :(得分:0)
我只是个初学者。所以我的建议可能不对。
一个。
我检查了Debugger控制台,出现以下错误 'NSInvalidArgumentException',原因:'*** - [UIViewController pickBillTo:]:无法识别的选择器发送到实例0x44487f0' 我不确定问题是什么。
乙
-(IBAction)pickBillTo:(id) selector{ // Your code
-(IBAction)pickBillTo:(id) sender{ // my suggestion
下进行。
你还没有释放内存 button,firstName,lastName,number
答案 1 :(得分:0)
您正在尝试将pickBillTo:发送到UIViewController的实例,而不是您的自定义子类。
在FirstViewController.m中,更改:
UIViewController *newView = [[UIViewController alloc] initWithNibName:@"NewOrderView" bundle:nil];
为:
NewOrderView *newView = [[NewOrderView alloc] initWithNibName:@"NewOrderView" bundle:nil];
你还必须导入NewOrderView.h,你应该将该类重命名为NewOrderViewController,并将变量命名为newViewController,因为它是一个控制器,而不是一个视图。