博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ARC指南2 - ARC的开启和禁止
阅读量:7234 次
发布时间:2019-06-29

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

 

要想将非ARC的代码转换为ARC的代码,大概有2种方式:

1.使用Xcode的自动转换工具

2.手动设置某些文件支持ARC

 

一、Xcode的自动转换工具

Xcode带了一个自动转换工具,可以将旧的源代码转成ARC模式

1.ARC是LLVM 3.0编译器的特性,而现有工程可能使用老的GCC 4.2或LLVM-GCC编译器,因此首先需要设置使用LLVM 3.0编译器:

(现使用的XCode4.5,LLVM 3.0已经升级到LLVM 4.1)

最好也选上Warnings中的Other Warning Flags 为 -Wall,这样编译器就会检查所有可能的警告,有助于我们避免潜在的问题

 

2.Build Options下面的Run Static Analyzer选项也最好启用,这样每次Xcode编译项目时,都会运行静态代码分析工具来检查我们的代码

 

3.设置"Objective-C Automatic Reference Counting"选项为YES,不过Xcode自动转换工具会自动设置这个选项,这里只是说明一下如何手动设置

 

4.打开Xcode的自动转换工具

 

5.Xcode会显示一个新窗口,让你选择哪些文件需要转换

点击Check按钮,Xcode可能会弹出对话框提示项目不能转换为ARC,需要你准备好转换(这里暂时省略详细说明)

 

6.如果没有什么警告、错误了,就会弹出一下提示窗口:

 

7.点击Next,几秒钟后,Xcode会提示所有文件的转换预览,显示源文件的所有改变。左边是修改后的文件,右边是原始文件。在这里你可以一个文件一个文件地查看Xcode的修改,以确保Xcode没有改错你的源文件:

点击Save即可完成转换

 

8.自动转换之后,Xcode会移除所有retain、release、autorelease调用,这可能会导致代码出现其它警告、无效语法等,这些都需要自己手工进行修改

注意:Xcode的自动转换工具最好只使用一次,多次使用可能会出现比较诡异的问题。假如你第一次转换没有转换所有的文件,当你稍后试图再次转换剩余的文件时,Xcode实际上不会执行任何转换操作。因此最好一次就完成转换,没有转换的文件可以考虑手工进行修改

 

二、手动开启某些文件的ARC

在Compiler Flags一列加上-fobjc-arc就表示开启这个.m文件的ARC

 

三、禁止某些文件的ARC

在Compiler Flags一列加上-fno-objc-arc就表示禁止这个.m文件的ARC

转载地址:http://rupfm.baihongyu.com/

你可能感兴趣的文章
闲聊Ceph目前在中国的发展Ceph现状
查看>>
我的友情链接
查看>>
CACTI 95th模版导入 及95th模板下载
查看>>
请求头header里的contentType为application/json和capplition/x-www-form-urlencoded
查看>>
迁云的那些事
查看>>
jquery ui 和ext.js一些区别,欢迎给位指正批评
查看>>
clj-xmemcached: memcached client for clojure
查看>>
SecureCRT日志自动记录
查看>>
磁盘 io 测试
查看>>
客户不提供开发者账号打包上传应用的处理方法
查看>>
Netfilter与FreeBSD的网络包过滤
查看>>
闲谈IPv6-现状和过渡
查看>>
我的友情链接
查看>>
Xcode3.2.6+iOS4.2無法上傳iPhone
查看>>
XMPP开发环境的搭建
查看>>
Docker 数据卷,数据卷容器详细介绍
查看>>
使用rman备份到挂载的NFS目录,提示ORA-19504-27054报错
查看>>
通过 rsync 搭建 CentOS 本地 yum 源服务器
查看>>
hadoop hive 常见问题解决持续更新
查看>>
如何做不浮躁的人
查看>>