OC 与 Swift混编 Swift的闭包传值到OC中
随着Swift的日益完善,终究会取代OC的地位,就像Kotlin取代Java一样,不是时间的问题,而是使用者愿意不愿意被时代淘汰的问题
首先是Swift中定义闭包
一定要注意在Swift的类前面加上@objcMembers,这样才能在OC中引用;在引用的变量前面加上@objc
@objcMembers class XuanzedituViewController: BaseViewController{
typealias MapClosure = (Dictionary<String, Any>) -> Void
@objc var blo:MapClosure?
}
//这样写就好了
###在OC中接着,按block那样的写
XuanzedituViewController *xz = [[XuanzedituViewController alloc] init];
xz.blo=^(NSDictionary<NSString *,id> *d){
//To do something
};
[_c.navigationController pushViewController:xz animated:YES];
就酱
本文来自博客园,作者:赫凯,转载请注明原文链接:https://www.cnblogs.com/heKaiii/p/15491284.html

浙公网安备 33010602011771号