Iphone 无法识别的选择器NSInvalidArgumentException:是否用于iAction?
我在iOS iPad应用程序中遇到了一个奇怪的问题。当我将Iphone 无法识别的选择器NSInvalidArgumentException:是否用于iAction?,iphone,ios,ipad,ios5,Iphone,Ios,Ipad,Ios5,我在iOS iPad应用程序中遇到了一个奇怪的问题。当我将ui按钮映射到iAction时,我的应用程序正在崩溃,并在内部事件中进行了润色。我在控制台中得到的错误如下 无法识别的选择器NSInvalidArgumentException 顺便说一下,我项目中的所有视图控制器都有相同的问题。视图控制器映射到选项卡栏控制器 我通过拖放其他项目中的所有文件创建了此项目。拖动的文件已正确放置在当前项目中,没有问题。这会引起问题吗 我不知道出了什么问题 谢谢右键单击xib中的按钮,检查按钮是否只有一个连接,
ui按钮
映射到iAction
时,我的应用程序正在崩溃,并在内部事件中进行了润色。我在控制台中得到的错误如下
无法识别的选择器NSInvalidArgumentException
顺便说一下,我项目中的所有视图控制器都有相同的问题。视图控制器映射到选项卡栏控制器
我通过拖放其他项目中的所有文件创建了此项目。拖动的文件已正确放置在当前项目中,没有问题。这会引起问题吗
我不知道出了什么问题
谢谢右键单击xib中的按钮,检查按钮是否只有一个连接,如果有多个连接,请删除不需要的连接
只需右键单击xib中的按钮,检查按钮是否只有一个连接,如果有多个连接,请删除不需要的连接
您是否在interface builder中设置了自定义
UIViewController
子类的类
您是否在interface builder中设置了自定义
UIViewController
子类的类
我会检查以确保UIButton引用了无法识别的方法: 1) .h中列出的方法签名是否与.m文件中列出的方法签名一致? 2) 当您调用预期参数方法时,是否传递了它们? 3) 该方法在.h和.m文件中是否始终列为类(+)或实例(-)方法 我知道你说你复制了文件,但是你测试过你复制的应用程序是否也能正常工作吗?其他应用程序是否将该方法连接到按钮?在你把它复制过来之后,你有没有改变什么
干杯我会检查以确保UIButton引用了无法识别的方法: 1) .h中列出的方法签名是否与.m文件中列出的方法签名一致? 2) 当您调用预期参数方法时,是否传递了它们? 3) 该方法在.h和.m文件中是否始终列为类(+)或实例(-)方法 我知道你说你复制了文件,但是你测试过你复制的应用程序是否也能正常工作吗?其他应用程序是否将该方法连接到按钮?在你把它复制过来之后,你有没有改变什么
欢呼如果问题在应用了Gabriele Petronella和Rajneesh071的解决方案后仍然存在,那么有可能出现一个小错误: 如果您正在使用:
[btn addTarget:self action:@selector(buttonTouched:) forControlEvents:UIControlEventTouchUpInside];
然后,按按钮
方法必须是(iAction)
如果触摸的按钮方法的类型为(void)
,则只需从方法调用中删除该:
我知道这是一件简单的事情,但它可能会导致崩溃。如果问题在应用了Gabriele Petronella和Rajneesh071的解决方案后仍然存在,那么有可能出现一个小错误:
如果您正在使用:
[btn addTarget:self action:@selector(buttonTouched:) forControlEvents:UIControlEventTouchUpInside];
然后,按按钮
方法必须是(iAction)
如果触摸的按钮方法的类型为(void)
,则只需从方法调用中删除该:
我知道这很简单,但可能会导致崩溃。谢谢你的回答。我已经解决了这个问题
实际问题:
我的项目是与弧
实际上,我正在从一个视图导航到另一个视图,方法是通过单击带有iAction
的按钮将其添加为子视图,如下所示
-(IBAction)signInAndGoToFrameworkView :(id)sender{
MyViewController myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController " bundle:nil];
[self.view addSubview:myViewController.view];
}
三,。由于项目使用ARC,对象myViewController将被释放,因为这是一个局部变量。所以当我按下后退按钮时
[self.view removeFromSuperview];
应用程序正在崩溃
解决方案:
因此,当我刚刚在.h文件中声明了MyViewController-MyViewController
并给出了@property
和@synthesis
时。然后,将iAction
更改为
-(IBAction)signInAndGoToFrameworkView :(id)sender{
myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController " bundle:nil];
[self.view addSubview:myViewController.view];
}
现在问题解决了
谢谢。谢谢你的回答。我已经解决了这个问题
实际问题:
我的项目是与弧
实际上,我正在从一个视图导航到另一个视图,方法是通过单击带有iAction
的按钮将其添加为子视图,如下所示
-(IBAction)signInAndGoToFrameworkView :(id)sender{
MyViewController myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController " bundle:nil];
[self.view addSubview:myViewController.view];
}
三,。由于项目使用ARC,对象myViewController将被释放,因为这是一个局部变量。所以当我按下后退按钮时
[self.view removeFromSuperview];
应用程序正在崩溃
解决方案:
因此,当我刚刚在.h文件中声明了MyViewController-MyViewController
并给出了@property
和@synthesis
时。然后,将iAction
更改为
-(IBAction)signInAndGoToFrameworkView :(id)sender{
myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController " bundle:nil];
[self.view addSubview:myViewController.view];
}
现在问题解决了
谢谢。复制了故事板还是仅复制了代码?该按钮在outlet中是否有除您的方法之外的任何其他连接?实现中的方法是否与头文件中声明的方法相同?您是通过代码还是从Nib连接事件内部润色?今天我在ios中创建了一个新项目,将UIButton连接到名为“go”的操作,只有nslog(@“go”);但也犯了同样的错误。我试图指出错误,15分钟后,我重新创建了新项目,同样的方式,同样的代码…它工作!!!是时候切换到AppCode了,还是在XCode中5年后,我们仍在学习和了解我们的XCode?复制了故事板还是仅仅复制了代码?该按钮在插座中是否有任何其他连接,而不是您的方法?实现中的方法是否与头文件中声明的方法相同?您是否通过代码或今天,我在ios中创建了一个新项目,将一个UIButton连接到名为