IOS开发---OC语言-㉗内存管理ARC的基本使用
来源:互联网 发布:win10下装mac os双系统 编辑:程序博客网 时间:2024/05/19 02:43
// main.m// arc的基本使用#import <Foundation/Foundation.h>#import "Person.h"#import "Dog.h"/* ARC的判断准则:只要没有强指针指向对象,就会释放对象 1.ARC特点 1> 不允许调用release、retain、retainCount 2> 允许重写dealloc,但是不允许调用[super dealloc] 3> @property的参数 * strong :成员变量是强指针(适用于OC对象类型) * weak :成员变量是弱指针(适用于OC对象类型) * assign : 适用于非OC对象类型 4> 以前的retain改为用strong 指针分2种: 1> 强指针:默认情况下,所有的指针都是强指针 __strong 2> 弱指针:__weak */int main(){ Dog *d = [[Dog alloc] init]; Person *p = [[Person alloc] init]; p.dog = d; d = nil; NSLog(@"%@", p.dog); return 0;}void test(){ // 错误写法(没有意义的写法) __weak Person *p = [[Person alloc] init]; NSLog(@"%@", p); NSLog(@"------------");}
/* 文件名:Person.h */#import <Foundation/Foundation.h>@class Dog;@interface Person : NSObject@property (nonatomic, strong) Dog *dog;@property (nonatomic, strong) NSString *name;@property (nonatomic, assign) int age;@end
/* 文件名:Person.m */#import "Person.h"@implementation Person- (void)dealloc{ NSLog(@"Person is dealloc"); // [super dealloc];}@end
/* 文件名:Dog.h */#import <Foundation/Foundation.h>@interface Dog : NSObject@end
/* 文件名:Dog.m */#import "Dog.h"@implementation Dog- (void)dealloc{ NSLog(@"Dog is dealloc");}@end
0 0
- IOS开发---OC语言-㉗内存管理ARC的基本使用
- IOS开发---OC语言-㉘内存管理ARC循环调用
- IOS开发---OC语言-㉙内存管理:block的使用
- 黑马程序员IOS-OC语言-内存管理、ARC
- IOS开发---OC语言-⑲内存管理:计数器的基本操作
- OC-ARC的基本使用
- iOS笔记:第十一篇 OC ARC的基本使用
- ios开发-OC内存管理的学习
- oc的ARC的内存管理
- OC的内存管理方式----MRC & ARC
- iOS开发语言之OC 初级内存管理
- ios开发 block 在ARC机制下的内存管理
- 黑马程序员——OC语言------内存管理和ARC
- iOS开发ARC内存管理技术要点
- iOS开发ARC内存管理技术要点
- iOS开发ARC内存管理技术要点
- iOS开发ARC内存管理技术要点
- iOS开发ARC内存管理技术要点
- 说与不说
- UVA10205 - Stack 'em Up(模拟)
- CocoaPods安装和使用教程
- 查看linux版本
- C#图片处理示例(裁剪,缩放,清晰度,水印)
- IOS开发---OC语言-㉗内存管理ARC的基本使用
- android:sharedUserId权限问题
- automake 用法
- 从现在开始就写博客
- jdbc-小结1
- Linux之Makefile(Makefile的执行过程)
- Zookeeper 3.4.6 Client端流程粗略梳理
- 内部类及匿名内部类的使用实例
- Linux多线程函数错误