代码之家  ›  专栏  ›  技术社区  ›  Soonmyun Jang

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

  •  1
  • Soonmyun Jang  · 技术社区  · 6 年前

    目标-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
    
        }
    

    将操作添加到标签(hashTag.hashTag1)

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

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

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

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

    1 回复  |  直到 6 年前
        1
  •  3
  •   JaredH    6 年前

    不幸地 @objc 是必需的,因为您正在使用 Selectors 在里面 target:action: 。需要ObjC运行时才能查找给定 Selector