2015-02-08 2 views
0

в моем приложении Я хочу написать функцию, которая принимает в качестве параметра UIViewController, который реализует некоторый протокол. В объективе-c я мог бы это сделать, написав:UIViewController, который реализует протокол в качестве аргумента в Swift

-(void)someFunction:(UIViewContoller<MyProtocol> *controller); 

Как создать подобную функцию в Swift?

+0

Вы пробовали некоторые вроде: 'func someFunction (controller: theProtocol) -> Void'? – thxou

+0

Конечно, но в этой ситуации контроллер только тот, который соответствует только Protocol, не является UIViewController, поэтому вы не можете вызвать какой-либо метод, принадлежащий UIViewController. – MichalMoskala

+0

Ты прав Михал Москала. Я сделал простой поиск, и я нашел это: http://stackoverflow.com/questions/24051396/class-conforming-to-protocol-as-function-parameter-in-swift. Попробуйте выполнить поиск, прежде чем спрашивать, лучше для всего сообщества user2561739 – thxou

ответ

1

Вы пробовали некоторые, как это ?:

func someFunction(controller: theProtocol) -> Void 

Edit:

Вы правы MichalMoskala. Я сделал простой поиск, и нашел это: Class conforming to protocol as function parameter in Swift. Попробуйте выполнить поиск, прежде чем спрашивать, это лучше для всего сообщества.

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