---------------
main.m
---------------
#import
<Foundation/Foundation.h>
@interface
FKWin : NSObject
@property ( nonatomic , retain ) NSDate* date;
@property ( nonatomic , retain ) NSDate* date;
@end
@implementation
FKWin
@end
int
main()
{
{
FKWin* win = [[FKWin alloc] init];
NSDate* date = [NSDate date];
//
第一次赋值时,
date
的引用计数为
1
NSLog(
@"date
的引用计数为:
%ld"
, date.retainCount);
//
由于使用了
retain
指示符,赋值时导致
date
的引用计数
+1
[win setDate:date];
//
下面输出的引用计数为
2
NSLog(
@"date
的引用计数为:
%ld"
, date.retainCount);
//
释放
date
的引用计数,
date
的引用计数
-1
[date release];
//
下面输出的引用计数为
1
NSLog(@"[win date]的引用计数为:%ld" , [win date].retainCount);
}
一、编写本节代码的具体步骤:
1.可仿照
第二章
001节的代码编写步骤,可以把类的接口文件,类的实现文件写在main.m文件中。
2.上述代码需要关闭ARC之后才能运行。
二、本节代码涉及到的知识点:
1.
retain:当把某个对象赋值给该属性时,该属性原来所引用的对象的引用计数减一,
被赋值的对象的引用计数加一。(启用ARC之后,retain基本用不上了)