小白学开发(iOS)OC_多个对象的内存管理(2015-08-03)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了小白学开发(iOS)OC_多个对象的内存管理(2015-08-03),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1539字,纯文字阅读大概需要3分钟。
内容图文
// 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 {
// 1
Person * p = [[Person alloc] init];
// 1
Car * car = [[Car alloc] init];
//2
[p setCar:car];
[p drive];
//1
[car release];
//要保证对象p 存在的时候,调用对象p的任何方法都不会出错
[p drive];
//0
[p release];
}
return 0;
}
//
// Person.h
// 01-手动内存管理基本概念
//
// Created by apple on 14-3-17.
//
//
#import <Foundation/Foundation.h>
#import "Car.h"
@interface Person : NSObject
{
Car * _car;
}
- (void)setCar:(Car *)car;
- (Car *)car;
- (void)drive;
@end
//
// Person.m
// 01-手动内存管理基本概念
//
// Created by apple on 14-3-17.
//
//
#import "Person.h"
@implementation Person
- (void)setCar:(Car *)car
{
//2,能够使得retainCount + 1 并且返回self
_car = [car retain];
}
- (Car *)car
{
return _car;
}
- (void)drive
{
[_car run];
}
- (void)dealloc
{
//目的是要保证在p对象存在的时候,car对象一定存在
//对象p被销毁的时候,
[_car release]
[super dealloc];
NSLog(@"Person 被销毁了");
}
@end
//
// Car.h
// 01-手动内存管理基本概念
//
// Created by apple on 14-3-17.
//
//
#import <Foundation/Foundation.h>
@interface Car : NSObject
- (void)run;
@end
//
// Car.m
// 01-手动内存管理基本概念
//
// Created by apple on 14-3-17.
//
//
#import "Car.h"
@implementation Car
- (void)dealloc
{
[super dealloc];
NSLog(@"Car 被销毁了");
}
- (void)run
{
NSLog(@"汽车跑起来了");
}
@end
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/shinian0009/article/details/47304375
内容总结
以上是互联网集市为您收集整理的小白学开发(iOS)OC_多个对象的内存管理(2015-08-03)全部内容,希望文章能够帮你解决小白学开发(iOS)OC_多个对象的内存管理(2015-08-03)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。