iOS - apple官方ARC文档关键点摘录

Object-C/Swift官网文档 Object-C/Swift官网文档,包含很多官方链接,应有尽有,最权威的官方文档 立即下载
ARC新规:
1. 禁止调用dealloc(但可以重新实现)
2. 禁止实现、调用 release,retain,retainCount,autorelease。
3. 禁止release instance variables。
4. You can still use CFRetain, CFRelease, and other related functions with Core Foundation-style objects。
5. 禁止使用 NSAllocateObject, NSDeallocateObject。
6. You create objects using alloc; the runtime takes care of deallocating objects.
7. You cannot use object pointers in C structures(use Objective-C class to manage the data instead)。
8. 禁止使用 NSAutoreleasePool (use @autoreleasepool blocks instead)。
9. 禁止使用memory zones(如NSZone)。
10. 强制命名规范:成员变量不准以new开头,除非指定了新的getter(如 @property (getter=theNewTitle) NSString *newTitle;)。


ARC引入新的Property Attributes:strong,weak
1. @property(strong):相当于@property(retain)。
2. @property(weak):相当于@property(assign),只不过当所指对象被销毁时,weak指针会被自动置为nil。


ARC引入了新的Variable Qualifiers:
1. __strong:默认的Qualifier,会保证所指对象是alive的。
2. __weak:不保证所指对象是alive的,而且所指对象被销毁时,__weak指针会自动被置为nil。
3. __unsafe_unretained:和 __weak 一样,但不会被自动置为nil(所以有可能变为野指针)。
4. __autoreleasing:用来说明传进来的参数是指针传递的(最常见的是定义一个 NSError* error,然后以 &error 的形式传递给某个函数),并且返回的对象是 autoreleased。
例子:
MyClass * __weak myWeakReference;
MyClass * __unsafe_unretained myUnsafeReference;


ARC编译器开关:
大开ARC:-fobjc-arc
关闭ARC:-fno-objc-arc

注意:可以单独为某些文件指定该编译选项


后记:

遗憾的是,apple官方文档里只是简单的提及:对象的释放由系统接管(编译器在合适的地方安插release代码),并没有关于对象释放的更多细节(比如释放的规则,何时释放)。我也问过很多iOS开发者,他们对于代码是否有内存泄漏,基本都说不清楚,而且很多人都理直气壮的抱有一个观点:有ARC了你还管那么多干嘛?!非也,没问题的时候当然啥都好说,可一旦有问题,如果没有深层研究过,那靠什么去追查问题呢?我会在后续的博客披露更多关于对象释放的细节。

RealSense D455的标定并运行VINS-FUSION 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar 阅读详情

相关推荐

Java对接海康威视明眸门禁设备

海康威视合作生态致力打造一个能力开放体系、两个生态圈,Hikvision AI Cloud开放平台是能力开放体系的核心内容。它是海康威视基于多年在视频及物联网核心技术积累之上,融合AI、大数据、云计算等技术,为合作伙伴提供的一个二次开发及创新的平台。的SDK复制到linux的lib目录下(如果是docker发布,记得做好共享映射哦)大家有没有想过,windows版的SDK为什么要复制到项目根目录的lib文件夹下?所以发布到linux的时候,我们需要将。打开AcsMain文件。................

Good Luck 7875

Objective-C 入门

编写 Objective-C 代码 如果您没有为 iOS 或 Mac OS X 编过程序,那就需要开始了解主要的程序设计语言 Objective-C。Objective-C 并不是一种很难的语言,如果您花一点时间学习,相信会慢慢领会到它的优雅之处。Objective-C 程序设计语言使您能进行复杂的、面向对象的编程。通过提供用于定义类和方法的语法,它扩展了标准的 ANSI C 程序...

weixin_30535043的博客 248

kettle连接达梦资源库数据库插件

kettle自定义插件plugin database plugin 达梦插件 dm插件

weixin_42122126的博客 2169

ARC简介

本文档版权归NickTang所有,没有本人书面或电子邮件允许,不许转载,摘录,发表。多谢! 本文原址:https://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html#//apple_ref/doc/uid/TP40011226 或者访问:http://blog....

编程代码大全 719

Android11,无障碍服务模拟多手势使用dispatchGesture时总是onCancelled

AccessibilityService的dispatchGesture去模拟多手势,总是onCancelled的一种解决办法

m0_49953943的博客 2102

sklearn2pmml xgboost缺失值(missing)处理的坑

sklearn2pmml xgboost缺失值(missing)如何处理 今天同事在部署xgboost pmml模型时遇到了大坑,线上spark预测和本地python预测结果怎么都不对应,记录一下处理过程。 看了下同事的代码,貌似也没有问题 from sklearn2pmml import PMMLPipeline from sklearn2pmml import sklearn2pmml fro...

Skycrab 8969

[ios]Apple Swift编程语言入门教程

1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍《The Swift Programming Language》中摘录和提取而成。希望对各位的iOS&OSX开发有所帮助。 Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来是的编程更加简单、灵活和有

超级方的专栏 1088

cordic算法的FPGA实现

cordic 算法的MATLAB仿真及verilog实现

qq_38360574的博客 1674

Apple Swift编程

AppleSwift编程语言入门教程作者: 日期:gashero2014-06-03 目录 1 简介2 Swift入门3 简单值4 控制流5 函数与闭包6 对象与类7 枚举与结构 1 简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍《The Swift Programming Language》中摘录和提取而成。希望对各位的iOS&OSX开发有所...

92

【GlobalMapper精品教程】006:Excel表格(.xls)或文本(.txt .csv)坐标文件生成矢量点

原始的坐标数据如下图所示,其中坐标为Lat经度,LNG纬度,均为十进制度的形式,一般软件都支持十进制度的格式,如果不支持,你可以尝试使用度分秒的形式,图中的DDMMSS-LAT为纬度,DDMMSS-LNG为经度。打开globalmapper软件,点击【打开数据文件】,选择坐标数据文件(案例中的数据位配套实验数据包中的data006.rar)气象台站分布点坐标.xls。选择坐标系:本案例数据采用的是经纬度,因此选择Geographic(Latitude/Longitude),基准选择WGS84,点击确定。

智慧空间实验室 2569

硬核实战!Python爬虫从0到1完整版:爬取知乎热榜+回答内容(数据去重+Excel一键导出+避坑指南,零基础友好)

✔️ 适用人群:Python爬虫零基础、想练手实战爬虫、需要爬取知乎内容做数据分析、办公/学习素材整理的同学爬取知乎热榜全量数据(排名+标题+热榜链接+热度值) →自动跟进爬取每个热榜问题的回答内容(回答者昵称+赞同数+评论数+回答正文+发布时间) →数据清洗+智能去重→一键导出格式化Excel文件,所有功能一站式完成入门级难度,无复杂反爬破解、无分布式/代理池,纯requests请求+静态解析,新手能看懂、能运行、能修改;爬取速度快,热榜+回答全程仅需几十秒。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1460

Apple Swift编程语言入门教程

目录 1   简介2   Swift入门3   简单值4   控制流5   函数与闭包6   对象与类7   枚举与结构 1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍《The Swift Programming Language》中摘录和提取而成。希望对各位的iOS&OSX开发有所帮助。 Swift是供iOS和OS X应用编程的新编程

3187

【图像超分】论文复现:轻量化超分 | 残差特征蒸馏网络RFDN的Pytorch源码复现,跑通源码,整合到EDSR-PyTorch中进行训练,补充CCA的实现!

本文介绍了将RFDN(残差特征蒸馏网络)整合到EDSR-PyTorch框架中的实现过程。主要内容包括:1)环境配置与数据集准备;2)测试源码提供的x4预训练模型,并通过修改图像裁剪函数解决HR与SR尺寸不一致问题;3)训练过程详解,包括将RFDN源码模块整合到EDSR框架中,调整模型参数输入方式。文章还提供了完整的代码实现、训练好的模型权重下载链接,并对RFDN架构进行了详细拆解与注释。通过将RFDN与EDSR相结合,实现了轻量级图像超分辨率重建,获得了PSNR/SSIM等指标及可视化结果。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 432

Apple Swift语言中文教程

Apple Swift编程语言入门教程 目录 1简介 2Swift入门 3简单值 4控制流 5函数与闭包 6对象与类 7枚举与结构 ...

223

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Apple Swift编程语言开发入门教程

Apple Swift编程语言开发入门教程 http://www.zuidaima.com/share/1852984641031168.htm

云淡风轻、仅此一抹 2648

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

IOS-Apple Swift编程语言入门教程

原文地址: http://gashero.iteye.com/blog/2075324 Apple Swift编程语言入门教程 作者: 日期: gashero 2014-06-03 目录 1   简介2   Swift入门3   简单值4   控制流5   函数与闭包6   对象与类7   枚举与结构 1   简

夜-feng的专栏 770

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Apple Swift入门教程

1简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍《The Swift Programming Language》中摘录和提取而成。希望对各位的iOS&OSX开发有所帮助。 Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代...

moto72的专栏 132

Apple Swift 编程语言入门教程

1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍《The Swift Programming Language》中摘录和提取而成。希望对各位的iOS&OSX开发有所帮助。 Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来是的编程更加简 单、灵活和

u010590016的专栏 1022

Apple Swift编程语言

《Swift 编程语言》PDF 版本来了,百度网盘:http://t.cn/RvI7dIi 新浪微盘:|The Swift Programming Language.pdf Google Drive:http://t.cn/Rvfn2ri (文档来的有点慢了,FlappySwift 都出来了啊http://t.cn/RvfsdIn,人家那才是资深 Swift 程序员啊)

houjia159的专栏 1103
下一篇: iOS - self & super 理解的关键点
object_c_key
博客等级 码龄11年 0粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值