OC之Block理解

很惭愧,在学习了objc这么多年之后才静下心来了解了下block这个东西

在这里插入图片描述

具体写法我就不说了,都可以查到

在这里插入图片描述

主要是心里好好接受这个东西怎么用,为什么这么用,什么地方用。
我不是专门的写手,所以想到哪写哪。

在这里插入图片描述

有很多种用法 但是如果说要用白话说说 真的就是每个人有每个人的点,对于我来说的点就是 block就是提前写好一段代码,等用到的时候再去调用。就比如你买了房子,2年后才交房,你现在脑子里就会有很多个block啦,等有了房子,厨房里放什么什么,客厅放什么什么,厨房和客厅就是未来的值。

那么上面的例子大概就是这么一个函数
新房.地址 = xxx;
新房.装修 { (厨房,客厅) in
厨房 放冰箱xxx;
客厅 放沙发xxx;
}

自我感觉这个例子很好理解,如果还是不能理解
就再说一个简单的点击button的例子
在这里插入图片描述

NSString *a = 100;
UIButton *button = [[UIbutton alloc] init];
button.title = @“xxx”;
button.buttonClick {
//点击button以后会进行的操作
clickBlock;
NSLog(@“print a = %@”, a);
}

代码执行的时候并不会马上去执行clickBlock这个方法,而是会等到点击button后才会执行,但是你提前把它写到了这里是因为什么呢?有很多原因,比如想要代码看起来比较整洁简短(省的另外专门写一个方法),另外就是比如以上代码里的你想在里面用到其他变量(a)的值。

还想到一个: block里还可以用block.
我前几天刚好用到了这个
场景是
上传文件的过程中需要有一个弹窗,填一些内容后关闭弹窗,但是如果内容为空要弹alert。
这就需要
uploading.popup {
//这里写一些填完内容后的操作
。。。
if (内容为空) {
xxx.alert {
//如果点了cancel怎样,如果点了ok怎样
}
}
}

写的乱乱的,但是我觉得还蛮好理解的,算是一种学习和回顾吧
swift里面的closure和block一个意思,理解了这个那个也就好用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值