我正在使用可扩展的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)!)
}
答案 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
}