版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010095372/article/details/78799986
随着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];
就酱