当前位置: 首页 > 面试题库 >

Swift 3:无法识别的选择器发送到实例Xcode 8

楚嘉
2023-03-14
问题内容

我已经以编程方式创建了UIView并添加UIPanGestureRecognizer到其中:

class ViewController: UIViewController{
    var preludeView: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()

        initViews()
        createConstrants()

        let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: Selector(("handleTap:")))
        preludeView.addGestureRecognizer(panGestureRecognizer)
    }

    func handleTap(recognizer: UIPanGestureRecognizer) {
        print("WORKING!!!!")
    }

    func initViews() {
        ...
    }

    func createConstrants() {
        ...
    }
}

但是当我触摸视图时,Xcode抛出错误:

2016-07-13 09:24:29.918 Draft_Hypa_02
[661:83024]-[Draft_Hypa_02.ViewController
handleTap:]:无法识别的选择器已发送到实例0x17d94a10 2016-07-13 09:24:29.921 Draft_Hypa_02
[661:83024] 正在终止应用由于未捕获的异常’NSInvalidArgumentException’,原因是: ‘ -
[Draft_Hypa_02.ViewController handleTap:]:发送到实例0x17d94a10无法识别的选择’

第一掷调用堆栈:(0x249cf91b 0x2416ae17 0x249d52b5 0x249d2ee1 0x248fe238 0x294ae9eb
0x290e984f 0x28f7aff1 0x294afd4f 0x28f3ba57 0x28f38017 0x28f78ec9 0x28f7867b
0x28f49125 0x28f476d3 0x24991dff 0x249919ed 0x2498fd5b 0x248df229 0x248df015
0x25ecfac9 0x28fb1189 0x93144 0x24587873)libc ++
abi.dylib:以类型为NSException的未捕获异常终止

但是,如果我在handleTap函数中删除参数并在中删除冒号,则Selector(("handleTap:"))一切正常!

已经花了一天的时间尝试解决此问题,非常感谢您的帮助!


问题答案:

如果您使用的是swift3,则selector应该像这样

#selector(self.handleTap(recognizer:))


 类似资料:
  • 问题内容: 我正在尝试从字典中获取特定键的值,但我得到了一个[[__NSCFArray objectForKey:]:无法识别的选择器发送到实例” 我NSLog我的头像字典,我的结果是: 问题答案: 问题是您没有。的计数为1,并包含。 要遍历数组中的所有项目,请枚举数组。 注意:我也从[]语法切换到了。我比较喜欢

  • 问题内容: 每当我尝试更新核心数据模型的值时,我都会不断收到此错误。这是我的模特 这是我的代码tableViewCell 我不断收到错误消息 “由于未捕获的异常’NSInvalidArgumentException’而终止应用程序,原因:’-[Habit setTrackingType:]:无法识别的选择器发送到实例0x7fdcbb002c90’” 在self.habit?.trackingTyp

  • 问题内容: 我在尝试让用户按下UIButton时遇到问题。我不断收到错误消息:无法识别的选择器已发送到实例 对于Swift方法,例如传递给选择器方法的正确字符串是什么?是“ buttonClick”,“ buttonClick:”,“ buttonClickSender:”还是其他? 问题答案: 您正在对该操作使用无效的方法签名。您正在提供,但该方法有一个参数,因此签名应为 有关如何设置选择器格式

  • 问题内容: 我看不到以下按钮为何引发错误:2014-08-13 00:29:57.674 view1 [26581:842344]-[view1.ViewController buttonAction:]:无法识别的选择器已发送至实例0x797731c0 2014-08-13 00:29:57.677 view1 [26581:842344] * 由于未捕获的异常’NSInvalidArgumen

  • 问题内容: 我得到我的iOS应用程序错误。我尝试根据其他类似主题中提到的答案解决问题,但失败了。请查看下面的代码,并为此提供帮助。 谢谢 问题答案: 这样写选择器。 Swift 2.3或更低版本。 迅捷3 注意: 一种建议是面糊方法名称始终以小写而不是大写开头。因此,如果您使用而不是,那就更糟了。

  • 问题内容: 我正在使用最新的SDK开发iOS 5.0+应用程序。 我收到此代码一个非常奇怪的错误: 这是我的日志: 看来是。但是我不明白,如果是为什么我在日志上看不到。 我第二次运行该方法时第一次遇到此错误,我没有任何错误。这是我的日志: 顺便说说: 有什么建议吗? 也许某个地方… 问题答案: 我对JSON解释器疯狂使用NSNull的解决方案是在NSNull上创建一个类别,在该类别中我定义inte