ios - 如何在不使用 Swift4 中的 objective-c 的情况下向标签添加操作

标签 ios swift parameter-passing swift4

objective-c 函数

@objc func handleTapHash(gestureRecognizer: UIGestureRecognizer) {

        NotificationCenter.default.post(name: NSNotification.Name("ViewerOfHash"), object: nil)



    }
@objc func ViewerOfHash() {

        performSegue(withIdentifier: "ViewerOfHash", sender: nil)

        PassDataController.addData(newData: "12300")
        MainVC.tof = 1

    }

给标签添加 Action (hashTag.hashTag1)

let gestureRecognizer1 = UITapGestureRecognizer(target: self, action: #selector(self.handleTapHash))
hashTag.hashTag1.addGestureRecognizer(gestureRecognizer1)

它可以工作,但我不想使用 objective-c 和 NS 函数。

在我的代码中有一个标签可以将一些数据发送到另一个页面。

如何将我的代码完全更改为 Swift4?

最佳答案

不幸的是,@objc 是必需的,因为您在 target:action: 中使用了 Selectors。需要 ObjC 运行时才能查找给定 Selector 的方法实现。

关于ios - 如何在不使用 Swift4 中的 objective-c 的情况下向标签添加操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50332060/

相关文章:

ios - 这里 Maps SDK iOS Swift 3 文档

IOS & Objective C 开发 - 如何让登录页面出现在用户面前?

swift - 尝试在函数中返回数组时收到未解析的标识符

ios - Swift 3 拍照并保存

ruby - 关于 ruby​​ 参数传递的一些令人困惑的事情

ios - 如何使用 Swift3 检测与 Firebase 数据库的互联网连接?

c# - 我应该加密我的 Unity 代码来构建 IOS 游戏吗?

ios - 无法将值类型 "User?"转换为预期的参数类型 "User!"

c++ - 将 shared_ptr 与对象数组一起使用

class - Flutter Dart - 动态获取类的属性