Можно ли объявить протокол, а также определить тип объекта, который может ему соответствовать?Протокол Swift для подклассов UIViewController
У меня есть набор закрытий, которые я хотел бы настроить в разных подклассах UIViewController
в моем проекте. (Все они связаны).
Я хотел бы иметь фабричную функцию, которая создает правильный тип подкласса UIViewController
, но затем возвращает его как тип протокола.
Таким образом, я могу настроить различные затворы и нажать контроллер вида на контроллер навигации.
Я могу либо ...
Верните UIViewController
суперкласс и надвинуть навигации в стек, но затем не быть в состоянии установить затворы правильно, как компилятор не знает, что соответствует протоколу.
или ...
Возвращает тип протокола, и я в состоянии установить затворы правильно, но тогда компилятор не знает, что это UIViewController
подкласса, так что я не могу поместить его на навигационном контроллер ,
Есть ли способ сделать то и другое?
Благодаря
Вы можете определить во время выполнения, соответствует ли объект к протоколу –
@NazmulHasan Ах, так вы говорите, просто вернуть их как 'UIViewController ', а затем выполните« if let ... », чтобы определить, что он соответствует протоколу? – Fogmeister