美文网首页
12-ARC的开启和禁止

12-ARC的开启和禁止

作者: SnorlaxSE | 来源:发表于2018-01-25 17:15 被阅读0次

要想将非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的自动转换工具

image

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

引用: ARC指南2 - ARC的开启和禁止

相关文章

  • 12-ARC的开启和禁止

    要想将非ARC的代码转换为ARC的代码,大概有2种方式: 1.使用Xcode的自动转换工具 2.手动设置某些文件支...

  • 移动端开启页面滚动和禁止页面滚动@令狐张豪

    移动端开启页面滚动和禁止页面滚动@令狐张豪 在做移动端的时候我们经常要禁止页面的滚动和开启页面的滚动,故学习了下原...

  • js开启和禁止页面滑动

    在移动端中,由于机型的不同,往往在弹窗的时候会出现页面的穿透事件,使得原页面还是能够进行滑动,这是我们不想看到的效...

  • js开启和禁止页面滑动

    在移动端中,由于机型的不同,往往在弹窗的时候会出现页面的穿透事件,使得原页面还是能够进行滑动,这是我们不想看到的效...

  • 实战:Linux 禁止和开启 ping 的方法

    本文档以实战的形式介绍 RHEL7 禁止和开启 ping 的方法 一、内核参数设置 1、允许ping设置 临时 e...

  • linux禁止开启ping

    禁止开启ping 禁止 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_...

  • 2019-06-11 android studio 设置之省电模

    Android Studio开启省电模式后,禁止掉一些辅助模式,不会代码自动提示和语法检查。

  • centos 7 开放指定端口

    开启指定端口: 开启指定端口后必须重启防火墙,重启命令 查看防火墙状态 开启防火墙 禁止开机启动 开启开机启动 查...

  • 常见问题2

    禁止页面缓存 禁止字母大写 1 .ios 输入框输入文本的时候会默认开启首字母大写 safari 使用的配置 :a...

  • Openstack Train 快速搭建部署文档「离线 / 在线

    ⚠️ 考虑到复制方便,就不开启禁止复制了,但:文章未经授权禁止转载 本文档为 openstack 快速部署文档,只...

网友评论

      本文标题:12-ARC的开启和禁止

      本文链接:https://www.haomeiwen.com/subject/akmybxtx.html