博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios 为什么拖拽的控件为weak 手写的strong
阅读量:6973 次
发布时间:2019-06-27

本文共 467 字,大约阅读时间需要 1 分钟。

ib拖拽的控件自动声明为weak  而平时自己手写的为strong

在ios中,对象默认都是强引用,不是强引用赋值后会立即释放

ib声明weak 不立即被释放 简单说就是

1、声明的弱引用指向强引用

2、加到了view中

@property (nonatomic, weak) UILabel * lab;.....-(void)viewDidLoad{   UILabel * label = [ UILabel alloc] init....  _lab = label;   [self.view addSubview:_lab];}

释放顺序  控制器----> view ---> subViews  ---> label   (没有强引用的先释放)

手写代码声明为 strong 相当于有两个强引用指向

释放顺序 控制器---->_lab

                      --->view ---> subViews  ---> label  两个强引用都销毁了

 

转载于:https://www.cnblogs.com/jasonduan/p/4886986.html

你可能感兴趣的文章
微信公众平台开发者文档
查看>>
c# 反射取其他项目的资源文件
查看>>
Oleg Sych - » Pros and Cons of T4 in Visual Studio 2008
查看>>
在一个未知的CentOS服务器中如何加上PHP的openssl扩展
查看>>
高性能网站构建实战文摘
查看>>
数学图形(1.4)心形线
查看>>
调试WebService
查看>>
学习的方法
查看>>
Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结
查看>>
手机SD卡损坏补救措施
查看>>
ORACLE数据库不同故障下的恢复总结
查看>>
使用eclipse转换普通项目为web项目
查看>>
MVC入门教程-视图中的Layout使用
查看>>
2015年第4本(英文第3本):Godfather教父
查看>>
Python Select 解析
查看>>
ASP.NET 5中的ASP.NET Bundles跑到哪里去了?
查看>>
FastDFS概要
查看>>
LNMP的的编译安装全过程
查看>>
Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)...
查看>>
面试经验谈(经典)
查看>>