你的位置:首页 > 软件开发 > 操作系统 > ios 中的block应用

ios 中的block应用

发布时间:2016-01-23 16:00:16
在这个大冬天里默默敲着键盘,勿喷.今天学习swift过程中,学习到闭包,发现闭包和oc的block中有很多的相同之处,又重新学习了一下并且学习了一些高级点的用法,内容如下:1.block格式说明:(返回类型)(^块名称)(参数类型) = ^(参数列表) {代码实现};//如果没有 ...

在这个大冬天里默默敲着键盘,勿喷.今天学习swift过程中,学习到闭包,发现闭包和oc的block中有很多的相同之处,又重新学习了一下并且学习了一些高级点的用法,内容如下:

1.block格式说明:(返回类型)(^块名称)(参数类型) = ^(参数列表) {代码实现};//如果没有参数,等号后面参数列表的()可以省略- (void)add:(int)number withNumber:(int)withNumber sumBlock:(MyBlock) block}

   [self add:4 withNumber:2 sumBlock:sumBlock];

 

6.既然Block是一种数据类型,那么可以将Block当做比较特殊的对象,添加到数组

#pragma mark 定义并添加到数组

@property (nonatomic, strong) NSMutableArray *myBlocks;

int(^sum)(int, int) = ^(int x, int y) {

    return [self sum:x y:y];

};

[self.myBlocks addObject:sum];

int(^area)(int, int) = ^(int x, int y) {

    return [self area:x y:y];

};

[self.myBlocks addObject:area];

#pragma mark 调用保存在数组中的Block

int(^func)(int, int) = self.myBlocks[index];

return func(x, y);

 

7.解除循环引用

局部变量默认都是强引用的,离开其所在的作用域之后就会被释放}

     self.completionBlock = ^{         if (self.isbool == true) {//判断传入哪个参数,执行success还是failure

 

 

 

 

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:ios 中的block应用

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。