UIButton在单独的类中调用

时间:2016-10-08 23:25:21

标签: ios swift uibutton

我正在使用可扩展的tableView。其中一个单元格将用于在Safari中打开URL链接的按钮。按钮IBOulet位于WebsiteCell类中,数据和视图控制器位于详细视图中。

在详细信息视图类中,我在尝试调用显示websiteCell.venueURL(UIButton)的按钮时出错。该错误表示'呼叫中的额外参数'。

应该在这里代替UIButton?

WebsiteCell类

class WebsiteCell: UITableViewCell {



@IBAction func venueURL(sender: UIButton) {


}

详情视图类

else if indexPath.row == 3 {
        let websiteCell = tableView.dequeueReusableCellWithIdentifier("websiteCell") as! WebsiteCell

        let venueURL = venues!["URL"] as! String



        websiteCell.venueURL(UIButton){
            UIApplication.sharedApplication().openURL(NSURL(string: venueURL)!)



        }

1 个答案:

答案 0 :(得分:0)

我会将故事板中的按钮添加到websiteCell类型的原型单元格中。然后,您可以将此按钮作为@IBAction链接到您的websiteCell类,并且打开URL的代码应放在IBAction中。

class WebsiteCell: UITableViewCell {

    var venueURL: String?

    @IBAction func venueURL(sender: UIButton) {
        UIApplication.sharedApplication().openURL(NSURL(string: venueURL)!)
    }

}

然后,您的cellForRowAtIndexPath方法将如下所示:

else if indexPath.row == 3 {

    let websiteCell = tableView.dequeueReusableCellWithIdentifier("websiteCell") as! WebsiteCell

    websiteCell.venueURL = //url here

    return websiteCell

}