内存管理:@class循环引用
来源:互联网 发布:音视频编辑软件 编辑:程序博客网 时间:2024/06/09 19:27
@class循环引用
/*
1. @class的作用:仅仅告诉编译器,某个名称是一个类
@class Person; //仅仅告诉编译器,Person是一个类
2.开发中引用一个类的规范
1> 在.h文件中用@class来声明类
2> 在.m文件中用#import来包含类的所有东西
3.两端循环引用解决方案
1> 一端用retain
2> 一端用assign;
*/
#import <Foundation/Foundation.h>
#import "Card.h"
@interface Person :NSObject
@property (nonatomic,retain)Card *card;
@end
#import "Person.h"
@implementation Person
- (void)dealloc
{
NSLog(@"Person类被销毁了!");
[_cardrelease];
[superdealloc];
}
#import <Foundation/Foundation.h>
@class Person;
@interface Card : NSObject
@property (nonatomic,assign)Person *person;
@end
#import "Card.h"
#import "Person.h"
@implementation Card
- (void)dealloc
{
NSLog(@"Card被销毁了");
//[_person release];
[superdealloc];
}
@end
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc,const char * argv[]) {
Person *p = [[Personalloc] init];
Card *c = [[Cardalloc] init];
//c = 2
p.card = c;
//p = 1
c.person = p;
//p = 0, c = 1
[prelease];
//c = 0
[crelease];
return 0;
}
- 内存管理:@class循环引用
- OC基础—内存管理之@property及其参数(补充新知识:循环引用和@class)
- 黑马程序员--IOS_内存管理_@class和循环引用的问题。
- 十一、内存管理中的循环引用
- iOS内存管理之循环引用
- OC内存管理-ARC-循环引用
- 内存管理--循环引用
- 黑马程序员---内存管理之循环retain和@class
- IOS内存管理的经典问题(循环引用)
- 黑马视频学习笔记-内存管理-循环引用
- oc -7 内存管理 相关参数 循环引用
- iOS ARC内存管理循环引用的问题
- OC-026.内存管理中循环引用的问题
- Objective-C内存管理第四弹:循环引用
- Swift内存管理(ARC)之循环引用
- Swift 内存管理与循环引用问题(weak、unowned)
- iOS内存循环引用
- Effective Objective-C(第29-36条)内存管理篇,ARC、循环引用、引用计数
- linux程序设计,屏幕管理学习与新的Debug经验。。
- 随笔
- 15条谷歌轶事
- 【BZOJ3916】【Baltic2014】friends 暴力
- Memcached源码分析 - Memcached源码分析之总结篇(8)
- 内存管理:@class循环引用
- 15
- Lisa随手记 1.8 版 发布
- RandomAttack algorithm
- HTML表格
- @autorelease
- Clone Graph
- 15
- iOS开发-UIApplication和delegate & iOS程序的启动原理