2016-10-08 4 views
0

Я использую расширяемый tableView. Одна из ячеек будет использоваться для кнопки, чтобы открыть ссылку URL в сафари. Кнопка IBOulet находится в классе WebsiteCell, а контроллер данных и просмотра находится в подробном представлении.UIButton Call в отдельном классе

В классе «Детальный вид» У меня есть ошибка при попытке вызвать кнопку, где указано websiteCell.venueURL(UIButton). Ошибка говорит «Дополнительный аргумент в вызове».

Что должно быть здесь вместо UIButton?

WebsiteCell Класс

class WebsiteCell: UITableViewCell { 



@IBAction func venueURL(sender: UIButton) { 


} 

Detail View Class

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

Я хотел бы добавить кнопку в раскадровке к прототипу клетки типа websiteCell. Затем вы можете связать эту кнопку со своим классом siteCell как @IBAction, а код для открытия 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 

} 
+0

работал как шарм приветствия Адама. –

Смежные вопросы