Swift与OC闭包回调对比
2016-08-22 17:10
309 查看
在iOS开发中,实现回调的方式有:Delegate和Block。前者用变量指针实现,后者用函数指针实现。
闭包在Objective-C中被称为Block,在Swift中被成为Closure(在Java中称为Lambda)
本文主要简单记录下 Swift使用闭包回调与OC的Block的使用差异。
1、定义
OC
Swift
2、创建
OC
Swift
3、使用,创建一个类processData
OC
Swift
回调
OC
Swift
从上面的代码对比,很清楚知道oc与Swift,回调的在使用过程的差异,更多是语法的差异。
闭包在Objective-C中被称为Block,在Swift中被成为Closure(在Java中称为Lambda)
本文主要简单记录下 Swift使用闭包回调与OC的Block的使用差异。
1、定义
OC
typedef void(^fucBlock)(NSString *backMsg);
Swift
typealias fucBlock = (backMsg :String) ->()
2、创建
OC
@property (nonatomic, copy) fucBlock blockproerty;
Swift
var blockproerty:fucBlock!
3、使用,创建一个类processData
OC
- (void)processMethod { if (self.blockproerty) { self.blockproerty(@"OK"); } }
Swift
func processMethod(cmdStr:String?){ blockproerty!(backMsg:"OK") }
回调
OC
process.blockproerty = ^(NSString *backMsg) { NSLog(@"%@",backMsg); });
Swift
process.blockproerty={ (backMsg) in print(backMsg) }
从上面的代码对比,很清楚知道oc与Swift,回调的在使用过程的差异,更多是语法的差异。
相关文章推荐
- 初识Swift,实现Swift的代理、回调(闭包)、与OC的交互
- Swift 闭包(Closure)回调传值
- OC ,C++,JAVA,SWIFT语法对比
- [swift]-闭包前oc中block的说明
- IOS_Swift_深入理解闭包 对比懒加载和普通赋值的区别
- swift 学习笔记3 -- OC的block与swift的闭包
- swift 自定义view的写法(内有仿照OC中block的 swift闭包的调用)
- OC ,C++,JAVA,SWIFT语法对比
- Swift 闭包即OC中的Block
- Swift 简单封装UISwipeGestureRecognizer + 闭包回调监听事件,便于不同场景的 UIView调用
- OC的block和Swift的闭包写法
- swift闭包的使用 -- 类似于OC中的Block
- [swift]-字符串和oc字符串的对比使用
- iOS开发之swift与OC混编出现的坑,oc中不能对swift的代理进行调用,不能访问swift中的代理,swift中的回调方法
- Swift 闭包 (oc 的block 类似)
- Swift的基本语法与OC的基本语法对比 (Swift)
- [IOS swift对比oc]
- Swift编程(二):UIViewController之间的传值以及闭包回调传值
- iOS开发之OC与swift开发混编教程,代理的相互调用,block的实现。OC调用Swift中的代理, OC调用Swift中的Block 闭包,swift 3.0
- Swift-AnyOject与OC中Id对比