iOS项目MRC转ARC的两种方法

本文介绍了两种将老旧的iOS项目从MRC(手动引用计数)转换到ARC(自动引用计数)的方法。第一种方案是一步到位,包括过滤不需要转换的文件、使用Xcode转换工具并修复错误警告。第二种方法则是循序渐进,逐步打开ARC开关,处理MRC文件,并通过脚本辅助转换。这两种方法各有优缺点,适用于不同的项目需求。
摘要由CSDN通过智能技术生成

由于公司项目过于老旧,内存还是使用mrc进行管理,导致出现不少问题,最近着手将项目由mrc转换到arc上来,本人初步想法,有两种方案实施:


一、第一种方案(一步到位)

1、过滤无需转换的文件(需要统计出不需要转换的文件及第三方做标记)

  • 不希望转换的文件,添加-fno-objc-arc标记;
  • 对于第三方库如果有arc版的进行替换,没有的添加-fno-objc-arc标记;

2、使用Xcode自带的转换工具进行转换

  • Xcode->Edit->Convert->To Objective-C ARC;
  • 如果完成第一步中的操作,此处可以全选;
  • 此处没有选中的文件在完成自动转换后,将会被自动添加上-fno-objc-arc的标记;

注:
此处带有黄色感叹号标记的类是因为在项目中使用了-fobjc-arc标记。此处在进行自动转换的过程中,如果有第三方使用了[self retain],进行转换时会直接将此句删除,导致原先依赖这里的类在初始化之后就被释放了,将会造成野指针,所以,对于使用了mrc的第三方库尽量添加标记。

3、修复error与warn

  • error需要解决;
  • warn能解决的尽
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值