在函数内调用函数?

时间:2016-09-17 02:49:31

标签: swift

我有以下函数(使用这个真棒library)用于从单元格捕获数据(复制数据)的按钮,然后在用户点击imgtagAction时尝试调用另一个函数。第一个按钮func buttonViewLinkAction效果很好。我得到了AlertView,我看到了另一个按钮imgtagAction。但是,当我点击那个按钮时,我得到了:

  

无法识别的选择器发送到实例。

//get buttonViewLinkAction and copy to pasteboard
@IBAction func buttonViewLinkAction(sender: UIButton) {
    print("buttonViewLinkAction tapped")
    let face = self.faces[sender.tag]
    if let imageNAME: String = String(face.name){
        print(imageNAME .uppercaseString)
    }
    if let imageURL = NSURL(string:face.image) {
        print(imageURL)
    }

    UIPasteboard.generalPasteboard().string = face.directLink

    let alertView = SCLAlertView()
    alertView.addButton("Add [imag] tags", target:self, selector:Selector("imgtagAction:"))
    alertView.showSuccess((face.name), subTitle: "Direct link copied to clipboard")

    func imgtagAction(Sender: AnyObject) {
        print("imgtagAction tapped")
        UIPasteboard.generalPasteboard().string = "[img]" + face.directLink + "[/img]"
    }

}

因此,当我将imgtagAction函数移到buttonViewLinkAction函数之外时,我无法访问单元格数据。

func imgtagAction(Sender: AnyObject) {
    print("imgtagAction tapped")
    let face = self.faces[sender.tag]
    if let imageNAME: String = String(face.name){
        print(imageNAME .uppercaseString)
    }
    if let imageURL = NSURL(string:face.image) {
        print(imageURL)
    }
    UIPasteboard.generalPasteboard().string = "[img]" + face.directLink + "[/img]"
}

我得到的错误是:

  

使用未解析的标识符'sender'。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

您有Sender而不是sender。这就是你的功能应该是什么样的。

func imgtagAction(sender: AnyObject)
{
    print("imgtagAction tapped")
    let face = self.faces[sender.tag]
    if let imageNAME: String = String(face.name)
    {
        print(imageNAME .uppercaseString)
    }
    if let imageURL = NSURL(string:face.image)
    {
        print(imageURL)
    }
    UIPasteboard.generalPasteboard().string = "[img]" + face.directLink + "[/img]"
}