block知识点
2024-08-23 14:18:15
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方法。
最新文章
- poj 2378 (dijkstra)
- ubifs性能优化分析
- python 字符串 转 dict
- eclipse 技巧
- python批量制作雷达图
- 比较C++中的4种类型转换方式
- C++ primer里的template用法
- 【和我一起学python吧】python的数据类型
- Foundation: NSNotificationCenter
- 深入剖析Java中的自动装箱和拆箱过程
- *max_element函数和*min_element函数
- HDU 1001 Sum Problem
- TCP/UDP简介
- iOS开发:多线程技术概述
- 黑窗口输入确定数字弹MessageBox(VirtualProtect())
- oracle ebs应用产品安全性-安全性规则
- facebook marketing(市场营销) API(3)
- 堆溢出学习笔记(linux)
- es6+的javascript拓展内容
- eclipse编译hbase 1.3.1(转)
热门文章
- zabbix 硬盘健康监控
- Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file: /tmp/hsperfdata_hadoop/44512
- Linux使用命令记录
- Selenium2+python自动化29-js处理多窗口【转载】
- UVA 437 巴比伦塔 【DAG上DP/LIS变形】
- SSOJ 2316 面积【DFS/Flood Fill】
- FZU-2270 Two Triangles(两个三角形全等)
- Jmeter插件之PerfMon监控插件使用说明
- Super Ugly Number -- LeetCode
- 【bzoj2839】【集合计数】容斥原理+线性求阶乘逆元小技巧