Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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
Swift 带有addTarget(u3;:操作:)的“无法识别的选择器已发送到实例”_Swift - Fatal编程技术网

Swift 带有addTarget(u3;:操作:)的“无法识别的选择器已发送到实例”

Swift 带有addTarget(u3;:操作:)的“无法识别的选择器已发送到实例”,swift,Swift,我不知道我做错了什么。。。还因为在我的应用程序的其他部分中,同样的东西也可以工作。。。但现在让我解释一下我的问题。我有一个对象,我在其中配置了一个UIScreenedGepAngestureRecognitor和addTarget_U2;:action:,如下所示: swipeFromEdge = UIScreenEdgePanGestureRecognizer() swipeFromEdge.addTarget(self, action: "handlePanFromEdge") swipe

我不知道我做错了什么。。。还因为在我的应用程序的其他部分中,同样的东西也可以工作。。。但现在让我解释一下我的问题。我有一个对象,我在其中配置了一个UIScreenedGepAngestureRecognitor和addTarget_U2;:action:,如下所示:

swipeFromEdge = UIScreenEdgePanGestureRecognizer()

swipeFromEdge.addTarget(self, action: "handlePanFromEdge")
swipeFromEdge.minimumNumberOfTouches = 1
swipeFromEdge.maximumNumberOfTouches = 1
swipeFromEdge.edges = .Left

appDelegate.navController.view.addGestureRecognizer(swipeFromEdge)
在此配置之后,在同一个类中添加以下方法:

func handlePanFromEdge() {
 ...
}
一切似乎都很好,但每次我从屏幕左边缘滑动时,应用程序都会用以下解释阻塞:

-[__NSArrayM handlePanFromEdge]: unrecognized selector sent to instance 0x145967f0

为什么会发生这种情况?

我刚刚遇到了同样的问题。尝试将操作放入选择器,并在选择器值后加冒号:

swipeFromEdge.addTarget(self, action: Selector("handlePanFromEdge:"))

看起来这里也有同样的错误:不幸的是没有答案。我会尝试开发论坛。这可能是最新版本中的错误。此代码位于何处?我的代码位于实现UINavigationController委托的自定义对象中。我将此对象用于UINavigationController的自定义转换。我添加了一个手势识别器来创建一个交互式转换。是的,我的应用程序有时会在编译时直接崩溃。。。通常我需要多次重新编译我的应用程序才能正常工作。。。有什么想法吗?老问题,但这可能是因为您的类并没有从NSObject继承。你需要这个来实现目标/行动。。。被这个咬了一口又一口。