[Objective-c 基础 - 3.2] ARC
A.ARC的基本原理
{
Person *p1 = [[Personalloc] init];
p1.name = @"p1";
NSLog(@"");
}// 超出p1作用域,回收p1指向的空间
NSLog(@"");
2014-11-21 00:14:59.981 01-autorelease基本概念[4282:263265] Person - p1被回收了
2014-11-21 00:14:59.981 01-autorelease基本概念[4282:263265] 2
Person *p1 = [[Personalloc] init];
NSLog(@"");
p1.name = @"p1";
NSLog(@"");
p1 = [[Personalloc] init]; // p1指向了别的对象,原来指向的内存空间被释放
NSLog(@"");
2014-11-21 00:10:52.264 01-autorelease基本概念[4248:261439] 2
2014-11-21 00:10:52.264 01-autorelease基本概念[4248:261439] Person - p1被回收了
2014-11-21 00:10:52.264 01-autorelease基本概念[4248:261439] 3
Person *p1 = [[Personalloc] init];
p1.name = @"p1";
NSLog(@"");
p1 = nil; // p1被置为nil,原来指向的内存空间被释放
NSLog(@"");
2014-11-21 00:12:49.291 01-autorelease基本概念[4266:262528] Person - p1被回收了
2014-11-21 00:12:49.291 01-autorelease基本概念[4266:262528] 2
@classDog;
@interfacePerson :NSObject
@property(nonatomic,strong)Dog*dog;
@end
@classPerson;
@interfaceDog :NSObject
@property(nonatomic,weak)Person*person;
@end
[Objective-c 基础 - 3.2] ARC的更多相关文章
- Objective—C基础学习总结
1. (1)面向过程:一种以事件为中心的编程思想 (2)面向对象:一种以对象为中心的编程思想 2.get和set是用来访问和修改对象里的属性值 ...
- Objective C 基础
1,字符串加@: 不加@的是C语言字符串. 加@的代表的是OC的NSString http://www.jikexueyuan.com/course/71_2.html 2,setValuesForK ...
- [置顶] IOS 基础入门教程
IOS 基础入门教程 教程列表: IOS 简介 IOS环境搭建 Objective C 基础知识 创建第一款iPhone应用程序 IOS操作(action)和输出口(Outlet) iOS - 委托( ...
- Getting Started with Core Data
Getting Started with Core Data Getting Started with Core Data Coreframework支持创建对象模型封装你的应用数据和逻辑满足MVC设 ...
- YYKit @autoreleasepool 使用,优化内存
写在前面 最近再看YY大神的YYKit工具,发现在代码中经常使用@autoreleasepool,特别是在与for循环搭配使用的时候.刚开始很不能理解. 先有个概念: 自己创建的对象:使用 alloc ...
- Automake
Automake是用来根据Makefile.am生成Makefile.in的工具 标准Makefile目标 'make all' Build programs, libraries, document ...
- Objective C中的ARC的修饰符的使用---- 学习笔记九
#import <Foundation/Foundation.h> @interface Test : NSObject /** * 默认的就是__strong,这里只是做示范,实际使用时 ...
- Objective C ARC 使用及原理
手把手教你ARC ,里面介绍了ARC的一些特性, 还有将非ARC工程转换成ARC工程的方法 ARC 苹果官方文档 下面用我自己的话介绍一下ARC,并将看文档过程中的疑问和答案写下来.下面有些是翻译,但 ...
- swift 学习(二)基础知识 (函数,闭包,ARC,柯里化,反射)
函数 func x(a:Int, b:Int) {} func x(a:Int, b:Int) -> Void {} func x(a:Int, b:Int) ->(Int,Int ...
随机推荐
- 使用nginx做为静态服务器--监听两个域名配置
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; ...
- Qt: 多线程, 就是这么简单(确实非常简洁明了)
#include <iostream>#include <QApplication>#include <QThread>#include <QString&g ...
- Power Station POJ 4045
题意:给你一棵树,让你求一点,使该点到其余各点的距离之和最小.如果这样的点有多个,则按升序依次输出. 树型dp #include <cstdio> #include <cstring ...
- CodeForces250B——Restoring IPv6(字符串处理)
Restoring IPv6 DescriptionAn IPv6-address is a 128-bit number. For convenience, this number is recor ...
- linux系统相关的任务[fg、bg、jobs、&、ctrl + z]
转自: http://blog.chinaunix.net/space.php?uid=20697318&do=blog&id=1891382 fg.bg.jobs.&.ctr ...
- 4418SPI2对应管脚位置
MCU_SPICLK2 MCU_SPITXD2 MCU_SPIFRM2 MCU_SPIRXD2
- Annotation【转】
1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的c ...
- CodeWars题目筛选
http://www.codewars.com/kata/search/csharp?q=&r%5B%5D=-8&xids=completed&beta=false 语言选择C ...
- UVa 1152 (中途相遇法) 4 Values whose Sum is 0
题意: 要从四个数组中各选一个数,使得这四个数之和为0,求合法的方案数. 分析: 首先枚举A+B所有可能的值,排序. 然后枚举所有-C-D的值在其中用二分法查找. #include <cstdi ...
- 2009国家集训队小Z的袜子
莫队算法? 感觉没什么优越性啊?难道就是因为在排序的时候cmp函数的不同?这样做为什么减少时限啊? 我带着疑惑敲了代码,却一直有bug…… 代码: type node=record l,r,id,x, ...