obc学习笔记3
来源:互联网 发布:2017如何开淘宝店铺 编辑:程序博客网 时间:2024/06/01 17:25
内存管理:
Cocoa采用引用计数的技术,当alloc,new,copy消息创建对象时,引用计数器+1,retain +1,release -1,为0时对象dealloc被销毁,占用的内存被释放.获得引用计数器当前值retainCount
访问方法最佳实践:先保留新对象,然后释放旧对象
自动释放池:
创建:@autoreleasepool或NSAutoreleasePool对象,关键字比对象更快
自动释放池以栈的形式存在,自动释放池销毁时会向对象发出release消息
内存管理规则:
1.通过new,alloc,copy创建的对象要释放或者自动释放[NSObject autorelease];
2.其他方法获得的对象不用管;
3.retain的对象必须release,并且次数一致。
ARC自动引用计数:
垃圾回收在运行时工作,而ARC在编译时工作,自动插入retain和release,两者不能同时使用。ARC只对对象指针有效:代码块指针,obc对象指针和_ attribute _类型定义的指针。
归零弱引用:
_weak NSString *string;@property(weak) NSString *string;_unsafe_ unretained//关键字unsafe_ unretained//特性,与关键字冲突_strongstrong
拥有者权限(指针所有权):
_bridge//传递指针不传递所有权_bridge_retained//所有权交给non-ROP上并计数器+1_bridge_transfer//所有权交给ROP
异常:
@throw exception//所有对象[exception raise]//NSException,两者选一
@finally会在下一个@throw抛出异常之前被调用,注意僵尸异常
阅读全文
0 0
- obc学习笔记3
- obc学习笔记1
- obc学习笔记2
- obc学习笔记4
- obc学习笔记5
- obc学习笔记6
- IBM openblockchain学习(一)--obc-peer环境搭建
- Iphone开发(3) obC特有的get,set模式
- iOS obc
- Static浅析(C++/OBC)
- obc类的定义
- 在ubuntu上部署OBC
- 我们说的obc 是动态运行时语言是什么意思?
- python学习笔记3
- oracle8i学习笔记(3)
- linux学习笔记(3)
- C++学习笔记(3)
- AD学习笔记3
- zeromq源码学习——yqueue
- vue.js中字符串倒转
- 当前时间到凌晨的毫秒数
- resource角色隐式授权unlimited tablespace权限测试
- 正则表达式(总结)
- obc学习笔记3
- gcc和g++
- 电影购票APP实现(2)-Servlet
- 提升linux下tcp服务器并发连接数限制
- JDK的安装目录文件说明
- 《C++ Primer》读书笔记 第6章:函数
- C++使用libcurl发送HTTP协议
- Android开发规范
- hive sql join 时字段类型不一致问题