中易网

block为什么会造成循环引用

答案:2  悬赏:40  
解决时间 2021-03-14 21:21
block为什么会造成循环引用
最佳答案
一般来说我们总会在设置Block之后,在合适的时间回调Block,而不希望回调Block的时候Block已经被释放了,所以我们需要对Block进行copy,copy到堆中,以便后用。
当一个Block被Copy的时候,如果你在Block里进行了一些调用,那么将会有一个强引用指向这些调用方法的调用者,有两个规则:

如果你是通过引用来访问一个实例变量,那么将强引用至self
如果你是通过值来访问一个实例变量,那么将直接强引用至这个“值”变量
全部回答
block相当于objective-c的匿名函数,block允许开发者在两个对象之间将任意的语句当做数据进行传递,往往这要比引用定义在别处的函数直观。另外,block的实现具有封闭性(closure),而又能够很容易获取上下文的相关状态信息,因此ios开发中会用到block。实际上,block使用了与函数相同的机制,可以像声明函数一样,来声明一个bock变量;可以利用定义一个函数的方法来定义一个block;也可以将block当做一个函数来调用。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
指尖秀台湾沙宣专业烫染地址有知道的么?有点
没有驾驶证驾驶机动车,撞了人没有死,逃逸后
我的重庆80发动机上写着“yamaha",请问怎么
波士顿建筑学院怎么样
红沙屯我想知道这个在什么地方
2016年6月生的王姓带安的女儿起生么名字
如何注册互联网电话
单独一个网站速度慢什么原因?
鸟力什么不怕雨
为什么下载应用的时候有时候会出现应用未安装
同一个人不同银行的信用卡能连续刷卡吗
女生买避孕套携带着去约会的心态动机
安眠药可以带出国吗,会不会被查
余丁线在哪里啊,我有事要去这个地方
蚂蚁花呗风控什么时候会解除
推荐资讯
事业单位都有哪些部门
别人都说我长得可爱,漂亮,追的男生也不少,
天龙八部鉴定书10级值多少J
洛奇在网吧打不开
女生xxon时的真实感受是什么?会觉得疼么?
新境界豪廷1栋地址在哪,我要去那里办事
一个外国小男孩唱的一首歌,歌名叫Tell Me Wh
0.85x4.8x9.1÷(0.7x0.16x17) 这道题用简
会计考研学校选择(有要求) 有经验有研究的
福瑞小学怎么去啊,有事要去办理
韩国歌就是1加1等于什么有比 歌名
买二手车跟一手车有什么区别?应该注意些什么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?