IOS 内存管理
来源:互联网 发布:unity3d vs2015 编辑:程序博客网 时间:2024/05/29 19:30
IOS内存管理一直是头疼的问题,有时间做些简单的笔记
使用assign: 对基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char, 等等)
· 使用copy: 对NSString
· 使用retain: 对其他NSObject和其子类
l nonatomic关键字:
atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常好的选择。
iOS 5 中对属性的设置新增了strong 和weak关键字来修饰属性(iOS 5 之前不支持ARC)
l strong关键字:
strong 用来修饰强引用的属性;对应原来的retain。
该属性值对应 __strong 关键字,即该属性所声明的变量将成为对象的持有者。
l weak关键字:
weak 用来修饰弱引用的属性;对应原来的assign。
但是不同的是当对象被释放以后,对象自动赋值为nil;并且,delegate 和 Outlet苹果推荐用 weak 属性来声明。同时,如上一回介绍的 iOS 5 之前的版本是没有__weak 关键字的,所以 weak 属性是不能使用的。这种情况我们使用unsafe_unretained。
为单独文件指定是否使用ARC
当你迁移一个久工程到ARC模式下, -fobjc-arc
编译开关被默认的设置在所有的Objective-C 源代码上。 你可以使用-fno-objc-arc
来为特殊的class停用ARC 。在Xcode的 target的“Build Phases”标签, 打开Compile Sources group,展开源代码列表, 双击你想要修改的源代码的名字,再弹出框里输入-fno-objc-arc
,然后点Done按钮。
- IOS 内存管理
- iOS内存 管理 一点
- ios内存管理
- IOS内存管理小结
- iOS内存管理
- 再论iOS内存管理
- iOS内存管理
- IOS 内存管理
- IOS内存管理
- IOS内存管理
- iOS内存管理
- ios 内存管理基础知识
- ios内存管理
- iOS 内存管理
- IOS内存管理详解
- iOS 内存管理总结
- ios内存管理
- ios 内存管理
- 【整理】常见笔试题,对应解释转载
- 在 Google地图上显示自己的位置 ios
- 小白学c++之几种排序比较
- ios面试小问题
- 从某刻开始 我步入了软件工程
- IOS 内存管理
- PHP 真正多线程的使用
- i os objective-c javascript 的交互
- Boost log 简单使用
- UVa 3938 "Ray, Pass me the dishes!"
- jquery 设置border消失
- 《算法竞赛入门经典 第二版》习题——Chapter 2
- ffmpeg编译x264, 这个libffmpeg即可解码又可以h264编码
- 不使用“哨兵“位的递归-归并排序C++源代码