【OC笔记】关于MRC中的注意问题
来源:互联网 发布:linux命令 mkdir 编辑:程序博客网 时间:2024/06/01 16:49
问题分析:#import <Foundation/Foundation.h>
//Person类的声明
@interface Person : NSObject
@property (nonatomic,retain) Dog *dog;
@end//Person类的实现
@implementation Person
- (void)dealloc
{
NSLog(@"self:%@ --%@",self.dog,_dog);
//self.dog = nil; //注意点:1
[_dog release];
NSLog(@"Person dealloc");
[super dealloc];
}
@end//Dog类的声明
@interface Dog : NSObject
@end
//Dog类的实现
@implementation Dog
- (void)dealloc
{
NSLog(@"Dog dealloced");
[super dealloc];
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p = [Person new];
Dog *d = [Dog new];
p.dog = d;
NSLog(@"dog retainCount = %lu,person retainCount = %lu",d.retainCount,p.retainCount);
// 这一句应该放到最后面,因为dog已经销毁了,但是person的实例没有销毁,有可能在中间会调用person的 dog实例[d release]; //注意点:2
NSLog(@"dog retainCount = %lu,person retainCount = %lu",d.retainCount,p.retainCount);
[p release];
// NSLog(@"dog retainCount = %lu",d.retainCount);
}
return 0;
}
- 【OC笔记】关于MRC中的注意问题
- OC--MRC中的循环结构
- 02-OC中的ARC与MRC
- OC中的内存管理—MRC
- OC中的MRC内存管理方式
- OC中的MRC与ARC机制
- 黑马程序员 OC中的内存管理及MRC和ARC单个对象的内存管理问题
- 关于脚本中的注意问题
- 黑马程序员---OC内存管理中的MRC
- OC-049.集合中的内存管理(MRC和ARC)
- oc的MRC
- oc MRC初步认识
- OC ARC与MRC
- IOS MRC转化为ARC 要注意的问题
- 关于 OC 中的属性
- 关于OC中的委托
- 黑马程序员-OC语言-关于OC中的static关键字使用(听课笔记)
- 关于ARM9中的协处理器CP15及MCR/MRC指令
- 【OC语言】第六篇·内存管理
- 【OC语言】第七篇·ARC和分类
- 【OC语言】第八天·block和Protocol
- 【OC语言】第九篇·NSString,NSArry,NSDictionary
- 【OC语言】第十篇·NSFileManager、NSDate、沙盒、copy以及单例模式
- 【OC笔记】关于MRC中的注意问题
- 【OC笔记】MRC中多对象内存管理以及循环retain
- 【OC笔记】分类和延展
- 如何获取网站Icon
- 【OC笔记】block的用法
- 外公外婆
- 一个页面有多个提交按钮的时候
- HDU 5367动态建立线段树
- iOS总结(自定义button)