首页 > 代码库 > block知识点
block知识点
1、block引用局部变量的时候,该变量会作为常量编码到block中,在block中不能被修改。
2、使用 __block修饰的局部变量,不会作为常量被编码到block中,故而在block中可以被修改。
3、在block中引用一个局部的Objective-C对象的时候,该对象会被retain。
4、如果不想局部变量对象在block中被retain,应该使用 __block来修饰相应的局部变量。
5、在block中引用一个实例对象(假设A)的一个实例变量(假设 b),该实例对象(也就是A)会被retain。
6、block本身可以像对象一样copy和release。
copy方法:a、[_block copy] b、Block_copy(_block)
release方法:a、[_block release] b、Block_release(_block)
7、block创建后,内存是分配在栈上的,调用copy方法,会讲block从栈移动到堆上。
8、当block声明为全局变量的时候,我们应该调用block的copy方法。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。