2014-11-04 5 views
1

У меня есть два класса UIVIewController и UITableviewcell. В UITableviewcell у меня есть кнопка, и действие кнопки должно быть в UIViewController. Как я могу передать класс и установить делегат в действие кнопки.UIButton Действие не работает в swift

я попробовал этот код,

// UIViewController

cell.createButton(self) 


func buttonClick(object:AnyObject){ 
    println("Button Clicked") 
} 

// UITableViewCell

func createButton(delegate:AnyObject){ 
//button created. 

    button.addTarget(delegate, action: "buttonClick:", forControlEvents: UIControlEvents.TouchUpInside) 
} 

Но приведенный выше код не работает. Функция «buttonClick» не звонит

+0

Как и когда вы все называете 'createButton (делегат: AnyObject)'? Что передавалось как «делегат»? – Kirsteins

+0

Я звоню cell.createButton (self) в cellforrowAtIndexPath. Я передаю класс в делегат. –

ответ

0

У меня была такая же проблема некоторое время назад, пытаясь поставить себя вместо «делегированных».

иначе попытаться взглянуть на этот вопрос:

link

Я надеюсь, что помог.

+0

Хорошо. Благодарю. Работает. Но мне интересно, это правильный способ сделать. В объекте c, я думаю, мы можем передать делегат и установить цель в классе ячейки UITableview. почему это невозможно с быстрым? –

+0

на самом деле он должен работать так, как будто вы написали код, я не знаю, является ли это ошибкой или написано по-другому. Однако сам работает :) – uynva

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