小白学开发(iOS)OC_ 手动内存管理类的相互引用问题(2015-08-05)
来源:互联网 发布:橙汁哪个牌子好 知乎 编辑:程序博客网 时间:2024/06/05 05:11
//
// main.m
// 手动内存管理类的相互引用问题
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person * p = [[Person alloc] init];
Car * car = [[Car alloc] init];
[p setCar:car];
[car setPerson:p];
[car run];
[car release];
[p release];
}
return 0;
}
//
// Person.h
// 手动内存管理
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Car.h"
@interface Person : NSObject
@property(nonatomic,retain) Car * car;
- (void)eat;
@end
//
// Person.m
// 手动内存管理
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import "Person.h"
@implementation Person
- (void)dealloc
{
[super dealloc];
[_car release];
NSLog(@"Person 被销毁了");
}
- (void)eat
{
NSLog(@"人吃东西才有力气");
}
@end
//
// Car.h
// 手动内存管理
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
@class Person;
@interface Car : NSObject
//如果你的程序出现相互引用问题,那么一端要改成assign方式,不能够使用retain(回导致内存泄漏问题)
@property (nonatomic,assign)Person * person;
- (void)run;
@end
//
// Car.m
// 手动内存管理
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import "Car.h"
#import "Person.h"
@implementation Car
- (void)dealloc
{
[super dealloc];
// [_person release];
NSLog(@"Car 被销毁了");
}
- (void)run
{
// [_person eat];
[_person eat];
}
@end
// main.m
// 手动内存管理类的相互引用问题
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person * p = [[Person alloc] init];
Car * car = [[Car alloc] init];
[p setCar:car];
[car setPerson:p];
[car run];
[car release];
[p release];
}
return 0;
}
//
// Person.h
// 手动内存管理
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Car.h"
@interface Person : NSObject
@property(nonatomic,retain) Car * car;
- (void)eat;
@end
//
// Person.m
// 手动内存管理
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import "Person.h"
@implementation Person
- (void)dealloc
{
[super dealloc];
[_car release];
NSLog(@"Person 被销毁了");
}
- (void)eat
{
NSLog(@"人吃东西才有力气");
}
@end
//
// Car.h
// 手动内存管理
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
@class Person;
@interface Car : NSObject
//如果你的程序出现相互引用问题,那么一端要改成assign方式,不能够使用retain(回导致内存泄漏问题)
@property (nonatomic,assign)Person * person;
- (void)run;
@end
//
// Car.m
// 手动内存管理
//
// Created by admin on 15/8/5.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import "Car.h"
#import "Person.h"
@implementation Car
- (void)dealloc
{
[super dealloc];
// [_person release];
NSLog(@"Car 被销毁了");
}
- (void)run
{
// [_person eat];
[_person eat];
}
@end
0 0
- 小白学开发(iOS)OC_ 手动内存管理类的相互引用问题(2015-08-05)
- 小白学开发(iOS)OC_手动内存管理(2015-08-02)
- 小白学开发(iOS)OC_ 单个对象的内存管理(2015-08-02)
- 小白学开发(iOS)OC_多个对象的内存管理(2015-08-03)
- 小白学开发(iOS)OC_ set方法的内存管理分析(2015-08-04)
- 手动内存管理类相互引用问题
- 小白学开发(iOS)OC_类的互引用(2015-07-29)
- 小白学开发(iOS)OC_ 基本数据类型的包装类(2015-08-14)
- 小白学开发(iOS)OC_ 字符串的获取 (2015-08-11)
- 小白学开发(iOS)OC_ 字符串的比较判断(2015-08-12)
- 小白学开发(iOS)OC_类的本质(2015-07-27)
- 小白学开发(iOS)OC_ @property 参数(2015-08-05)
- 小白学开发(iOS)OC_ 使用继承来扩充类(2015-08-07)
- 小白学开发(iOS)OC_ Foundation之NSString类(2015-08-11)
- 小白学开发(iOS)OC_继承(2015-07-26)
- 小白学开发(iOS)OC_多态(2015-07-27)
- 小白学开发(iOS)OC_第一个OC (与C的区别)(2015-07-21)
- 小白学开发(iOS)OC_成员变量的作用域(2015-07-27)
- tar.xz结尾的文件在linux中的解压方法
- 影像匹配算法
- HDU 4371 AliceBob之生成数列直到大于n或者小于等于S(i-2)-思维-(由已知条件推最优步骤)
- HDOJ1272并查集加判断森林
- 我的高效编程秘诀
- 小白学开发(iOS)OC_ 手动内存管理类的相互引用问题(2015-08-05)
- CMD 使用emulator.exe启动Android模拟器——emulator -data 镜像文件名称
- 万能JS运动框架
- 苹果Xcode帮助文档阅读指南
- 【暑期基础2】D HDU 2029 Palindromes _easy version
- CSS选择器的权重计算规则
- 【Android 控件使用及源码解析】 GridView规则显示图片仿微信朋友圈发图片
- 暑假-树状数组-E - Stars
- Cocos2d-x开发教程 第六节 UI控件(Label)