iOS中ARC项目使用MRC文件或MRC项目使用ARC

本文介绍在Objective-C项目中混合使用ARC(Automatic Reference Counting)与非ARC代码的方法。针对旧项目未启用ARC但需引入ARC第三方库的情况,通过为特定源文件添加-fobjc-arc编译选项来解决;对于新项目已启用ARC但引入非ARC第三方库,则为这些库添加-fno-objc-arc选项。此外,还提供了一种通用的dealloc方法实现,使其既适用于ARC也适用于非ARC环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


//    方法就是在Build Phase里面的Compile Source里面找到需要特殊处理的文件,加上编译选项(Compiler Flags),具体针对上面两种情况有所区别。

//    

//    1.旧项目没有使用ARC,引入的第三方库使用了ARC的,给要添加的ARC源文件,添加-fobjc-arc选项

//    2.新项目使用了ARC,引入的第三方库没有使用ARC,给引入的第三方库添加-fno-objc-arc


//    对于新写的各种插件,可以这么处理:


-(void)dealloc{

    //do something in common

#if !__has_feature(objc_arc)

    [super dealloc];

#else

    //nothing

#endif

}

//让它在arc和非arc都可用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值