я определил блок в одном из моих заголовков так:Как я могу сделать блок пропускает тип параметра определенного класса?
typedef MyViewClass* (^MyBlock)(UIViewController *viewController);
мне нужно использовать этот блок в нескольких случаях, и я в настоящее время сделать это:
object.block = ^MyViewClass *(UIViewController *viewController) {
...
return something;
};
Как могу ли я определить свой блок, поэтому, когда я его использую, я могу использовать любой подкласс UIViewController
непосредственно в списке параметров? Например, UITableViewController
. Когда я попробую сейчас, я получаю предупреждение о компиляторе. Наверное, я ищу что-то по строкам instancetype
, только для параметра.
Это был мой страх, я хотел попробовать и приложить бросок в определении блока. P.S; Кстати, я думал об этом по сравнению с методом, заголовок может указывать 'UIViewController', но в любой реализации вы можете без проблем проходить через подклассы' UIViewController'. – Ricky