引用计数(retainCount)
2013-09-22 16:39
176 查看
ClassA.h:
ClassA.m:
main.m:
console log:
2013-09-22 16:35:50.886 demo[1028:303] Str1 count: 1
2013-09-22 16:35:50.890 demo[1028:303] str1 count:2
2013-09-22 16:35:50.891 demo[1028:303] str1 count:1
2013-09-22 16:35:50.892 demo[1028:303] delloc coling!
#import <Foundation/Foundation.h> @interface ClassA:NSObject { NSString *name; } -(void)setName:(NSString*)s; -(NSString*)name; -(void)dealloc; @end
ClassA.m:
#import "ClassA.h" @implementation ClassA -(void)setName:(NSString *)s { name=s; [name retain]; } -(NSString*)name { return name; } -(void)dealloc { NSLog(@"delloc coling!"); [name release]; [super dealloc]; } @end
main.m:
#import <Foundation/Foundation.h> #import "ClassA.h" int main(int argc,const char *argv[]) { NSAutoreleasePool *pool=[[NSAutoreleasePool alloc]init]; NSMutableString *str1=[NSMutableString stringWithString:@"Sam"]; ClassA *classA=[[ClassA alloc]init]; NSLog(@"Str1 count: %x",[str1 retainCount]); [classA setName:str1]; NSLog(@"str1 count:%x",[str1 retainCount]); [str1 release]; NSLog(@"str1 count:%x",[str1 retainCount]); [classA release]; [pool drain]; return 0; }
console log:
2013-09-22 16:35:50.886 demo[1028:303] Str1 count: 1
2013-09-22 16:35:50.890 demo[1028:303] str1 count:2
2013-09-22 16:35:50.891 demo[1028:303] str1 count:1
2013-09-22 16:35:50.892 demo[1028:303] delloc coling!
相关文章推荐
- iOS ARC下获取引用计数(retain count)
- 引用计数(retainCount)
- 对@property reatin以及retainCount(引用计数)的理解
- 关于NSString的retainCount的各种结果原因
- NSString的retainCount总是-1
- 小技巧,关于OC打印指针地址和arc下的retaincount
- Xcode4.2中的release,retainCount, retain“不能”使用的理解和的解决办法
- 理解NSString的RetainCount
- 对于iOS中dealloc时retainCount仍为1的一种解释
- Objective-C中对象加入数组或字典后其retainCount值的变化规律
- iOS objective-C retainCount, OC计数器的思考
- Objective-C中NSString对象retainCount之谜探索
- OC对象的retainCount(引用计数器)
- iOS NSString retainCount遇到的问题
- CCObject(m_uReference(被引用次数) m_uAutoReleaseCount(加入释放池次数) release retain acceptVisitor)
- iOS 切换到MRC环境下打印 retainCount 始终是-1或者一长串证书
- 关于retainCount不准确
- C++ 引用计数(reference count) 实现智能指针
- ios中关于NSString 的retainCount和循环引用的处理方式
- 不要用retainCount来获得对象的引用次数