OC ARC之循环引用问题(代码分析)
//
// main.m
// 03-arc-循环引用
//
// Created by apple on 13-8-11.
// Copyright (c) 2013年 itcast. All rights reserved.
// #import <Foundation/Foundation.h> @class Dog; @interface Person : NSObject @property (nonatomic, strong) Dog *dog; @end #import "Person.h" @implementation Person - (void)dealloc
{
NSLog(@"Person--dealloc");
} @end #import <Foundation/Foundation.h> @class Person; @interface Dog : NSObject @property (nonatomic, weak) Person *person; @end #import "Dog.h" @implementation Dog
- (void)dealloc
{
NSLog(@"Dog--dealloc");
}
@end #import <Foundation/Foundation.h>
#import "Person.h"
#import "Dog.h" /*
当两端循环引用的时候,解决方案:
1> ARC
1端用strong,另1端用weak 2> 非ARC
1端用retain,另1端用assign
*/ int main()
{
Person *p = [[Person alloc] init]; Dog *d = [[Dog alloc] init];
p.dog = d;
d.person = p; return ;
}
OC ARC之循环引用问题(代码分析)的更多相关文章
- OC ARC之基本使用(代码分析)
// // main.m // 01-arc的基本使用 // // Created by apple on 13-8-11. // Copyright (c) 2013年 itcast. All ri ...
- OC MRC之循环引用问题(代码分析)
// // main.m // 07-循环引用 // // Created by apple on 13-8-9. // Copyright (c) 2013年 itcast. All rights ...
- iOS ARC下循环引用的问题 -举例说明strong和weak的区别
strong:适用于OC对象,作用和非ARC中的retain作用相同,它修饰的成员变量为强指针类型weak:适用于OC对象,作用和非ARC中的assign作用相同,修饰的成员变量为弱指针类型assig ...
- OC学习11——循环引用与@class
转载自 OC学习篇之---@class关键字的作用以及#include和#import的区别 一.#import和#include的区别 当我们在代码中使用两次#include的时候会报错:因为#in ...
- OC - ARC(自动引用计数)
1.什么是自动引用计数? 顾明思义,自动引用计数(ARC,Automatic Reference Counting)是指内存管理中对引用采取自动计数的技术. 在OC中采用ARC机制,让编译器来进行内存 ...
- ARC下循环引用的问题
最初 最近在开发应用时碰到使用ASIHttpRequest后在某些机器上发不出请求的问题,项目开启了ARC,代码是这样写的: @implement MainController - (void) fe ...
- 解决ARC的循环引用问题
看看下面的程序有什么问题: BNRItem.h @interface BNRItem : NSObject @property (nonatomic, strong) BNRItem *contain ...
- OC MRC之 @property参数(代码分析)
第一部分 // // main.m // 04-@property参数 // // Created by apple on 13-8-9. // Copyright (c) 2013年 itcast. ...
- OC MRC之autorelease问题(代码分析)
// // main.m // 08-autorelease // // Created by apple on 13-8-9. // Copyright (c) 2013年 itcast. All ...
随机推荐
- php json_decode返回null
在使用json_decode函数想把json串转化为数组的时候,出现了null,当时还以为是因为json对字符串的长度有限制,还以为是因为两边少了引号,经过多次处理,发现都没有效果. 百度各种帖子,发 ...
- Python3 matplotlib的绘图函数subplot()简介
Python3 matplotlib的绘图函数subplot()简介 一.简介 matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘制 ...
- c++ sleep(windows/linux)
c标准中包含了一个sleep用以实现当前线程暂停执行n毫秒,如下所示: 函数名: sleep 功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned seconds); ...
- 08: python基础练习题
1.while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和 # 使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和 s = 0 i = ...
- mysql主备部署[高可用]
配置方案 master:192.168.99.61 service-id:61 slave:192.168.99.62 service-id:62同步账号:sync 同步密码:sync 主:192 ...
- 移动页面click延迟引发的touch问题
一.事件捕获与冒泡 先扯一下事件的触发流程,这个之后会用到. DOM2级事件规定事件包括三个阶段: ① 事件捕获阶段 ② 处于目标阶段 ③ 事件冒泡阶段 大概的流程就是事件从最外层一层一层往里面传递( ...
- hdu 3698 UVA1490 Let the light guide us 线段树优化DP
题目链接 and 题目大意 hdu3698 但是 hdu的数据比较弱,所以在这luogu提交吧UVA1490 Let the light guide us 有一个\(n*m\)的平原,要求每行选一个点 ...
- 论文笔记——DenseNet
<Densely Connected Convolutional Networks>阅读笔记 代码地址:https://github.com/liuzhuang13/DenseNet 首先 ...
- 复习_for循环嵌套 及 流程图梳理
原题: 使用for循环输出如下图形: * ** *** **** 分析及做法. 图链接: https://www.processon.com/view/link/5afba745e4b05352c2b ...
- java对象在内存的大小
前言 一直以来,对java对象大小的概念停留在基础数据类型,比如byte占1字节,int占4字节,long占8字节等,但是一个对象包含的内存空间肯定不只有这些. 假设有类A和B,当new A()或者n ...