黑马程序员技术交流社区
标题:
autorelease举例
[打印本页]
作者:
neverbloom7
时间:
2015-8-28 23:52
标题:
autorelease举例
void test(){
//实例人和宝马车类型,此时_car 和car相等都是一
Person *fengjie = [Person new];
Car *bmw = [Car new]; // 1
//给人实例对象赋值,利用set方法,让车属于人,此时_car和car相等
bmw.speed = 280;
//给凤姐一辆车
[fengjie setCar:bmw]; // 2
//使用人去拉萨的方法,让后释放宝马一次,此时让宝马释放,宝马挂掉
//区拉萨
[fengjie goLasa];
[bmw release]; // bmw 1, person dealloc 1-->0
// fengjie _car bwm
//此时凤姐不能去拉萨了没车
[fengjie goLasa];
[fengjie goLasa];
[fengjie goLasa];
//创建另一个车比亚迪
//创建另外一辆车
Car *byd = [Car new]; // 1
byd.speed = 80;
//比亚迪set,下划线和不下划线相等,都是一
[fengjie setCar:byd]; // 2 byd //_car = byd
[fengjie goLasa];
//使用后释放
[byd release]; // byd 2--->1
[fengjie goLasa];
[fengjie release]; // Person dealloc [_car release];
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *fengjie = [Person new];
Car *bmw = [Car new]; // 1
bmw.speed = 280;
//给凤姐一辆车
[fengjie setCar:bmw]; // 2
//区拉萨
[fengjie goLasa];
[bmw release]; // bmw 1, person dealloc 1-->0
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2