代码之家  ›  专栏  ›  技术社区  ›  letsCode

用swift[复制]将数据传递给选择器

  •  -1
  • letsCode  · 技术社区  · 5 年前

    我有一个UIButton的目标。

    button.addTarget(self, action: #selector(self.buttonAction), for: .touchUpInside)
    

    我也有这种方法:

    @objc func buttonAction(sender: UIButton!, info: String) {
        let btnsendtag:UIButton = sender
        //btnsendtag.isSelected = true
        //let buttonTitle = btnsendtag.titleLabel!.text as! String
        print("BUTTON TAPPED \(info)")
    
        btnsendtag.isSelected = !btnsendtag.isSelected
        if btnsendtag.isSelected {
            categoryArrayList.append(info)
        } else {
            categoryArrayList = categoryArrayList.filter() { $0 != info }
        }
    }
    

    如何将信息发送到此选择器?

    编辑:

    需要理由:我有一根绳子,我们就说“这个”“那个”但是,我希望按钮只显示单词“that”。但是,当我单击按钮时,我需要将“this@that”添加到数组中(就像您在函数中看到的那样)。

    谢谢

    1 回复  |  直到 5 年前
        1
  •  1
  •   Shehata Gamal    5 年前

    不能将值传递给 UIButton 的选择器

    button.addTarget(self, action: #selector(self.buttonAction), for: .touchUpInside)
    

    从类的上下文访问该值 或者 子类化按钮并附加所需的信息,然后操作如下

    @objc func buttonAction(sender: CustomBt)