Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 奇怪的XIB文件问题_Iphone_Ios_Xcode_Nib - Fatal编程技术网

Iphone 奇怪的XIB文件问题

Iphone 奇怪的XIB文件问题,iphone,ios,xcode,nib,Iphone,Ios,Xcode,Nib,在我编写的修改程序中遇到了一个奇怪的问题。在我的第一次迭代中,视图控制器有一个标题为userspecifinginput的iAction,并将我的所有按钮连接到这个iAction。 为了使设计更加复杂,我引入了userspecifingdigit和userspecifingletter,并相应地让一些按钮连接到第一个iAction(userspecifingdigit),下一个按钮连接到第二个iAction(userspecifingletter)。 在运行我的程序时,它给了我以下错误: 终止应

在我编写的修改程序中遇到了一个奇怪的问题。在我的第一次迭代中,视图控制器有一个标题为userspecifinginput的iAction,并将我的所有按钮连接到这个iAction。 为了使设计更加复杂,我引入了userspecifingdigit和userspecifingletter,并相应地让一些按钮连接到第一个iAction(userspecifingdigit),下一个按钮连接到第二个iAction(userspecifingletter)。 在运行我的程序时,它给了我以下错误:

终止应用程序:NSInvalidArgumentException 已将无法识别的选择器发送到实例

这些选择器在UserSpecificingInput和UserSpecificingDigit之间交替使用,这没有意义,因为UserSpecificingInput已从我的ViewController界面和实现中完全删除

现在我不知道为什么UserSpecificingInput仍然存在,但在尝试发送事件之后,我注意到按钮连接到新选择器和旧选择器。 我必须手动从所有按钮的touchupinside事件中删除旧的选择器

当然,这似乎不是一个非常方便的方式来进行程序,如果视图控制器选择器被修改,那么触摸事件应该被自动删除


我是不是遗漏了什么?这是一个非常开放的问题,有不同的答案。

从实现中删除iAction不会删除IB中以前指向它的任何链接。我还没有听说过任何XCode/IB首选项可以简化这个问题。

听起来好像xib仍然认为它的一个对象连接到UIViewController,但是UIViewController上的函数不再存在。要检查并修复此问题

  • 在项目导航器中单击xib文件
  • 选择文件的所有者
  • 单击连接检查器
  • 请验证这些连接是否都无效

  • 我还会查看UIViewController,以确保此处也不存在自动创建的引用。

    因此,唯一的解决方法是手动从之前连接到它的接口元素的修补事件中删除iActions?