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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩精神性尿频怎么办 小孩睡觉前尿频怎么办 生僻字打不出来怎么办 名字里有生僻字怎么办 qq语音红包生僻字怎么办 生僻字上不了户口怎么办 7岁儿童结巴怎么办 小孩咳喘有痰怎么办 都说我不爱说话怎么办 宝宝突然结巴了怎么办 淘宝客户不理人怎么办 遇到不说话客户怎么办 同学群没人聊怎么办 群里没人说话怎么办 儿童说话声音沙哑怎么办 孩子不和外人说话怎么办 同学退群该怎么办 宝宝睡觉枕头湿怎么办 一个多月的小宝宝便秘怎么办 小宝宝便秘拉屎困难怎么办 一岁小宝宝便秘怎么办 客户不听我说话怎么办 微信上客户不理怎么办 小宝宝母乳不够吃怎么办 小宝宝吃母乳拉肚子怎么办 母乳小宝宝吃奶吃不了怎么办 婴儿感冒吐奶怎么办 小孩感冒吐奶怎么办 小孩吐奶怎么办月子 新生儿一直吐奶怎么办 宝宝50天吐奶厉害怎么办 小儿吐奶厉害怎么办 宝宝一直便秘了怎么办 误建了微信群聊怎么办 新生儿大口吐奶怎么办 宝宝喝了就吐奶怎么办 婴儿顿顿吐奶怎么办 说话着急就结巴怎么办 幼儿舌头长泡怎么办 一着急说话结巴怎么办 幼儿舌头又溃疡怎么办