美文网首页
iOS开发如何代码判断ARC还是MRC?宏如何写?如何混编?

iOS开发如何代码判断ARC还是MRC?宏如何写?如何混编?

作者: 随心吧 | 来源:发表于2017-02-20 13:23 被阅读329次
    『导言』

    亲们,可能在开发中遇到变态需求,在ARC或者MRC之间切换?那怎么宏代码判断当前环境是ARC还是MRC

    在Xcode设置MRC与ARC混编?

    iOS5.0以后就开始可以使用ARCAutomatic Reference Counting:自动引用计数 )来代替之前的MRCManual Reference Counting:人工引用计数)。使用ARC会减少很多代码和忘了释放对象的苦恼。但是事情都有两面性。使用了ARC之后如果你想复用以前写过的使用MRC的类, 就会出报错。这时候怎么办?方法比较简单, 只需要做下面的一个步骤就可以解决:

    转换 设置命令 注释
    MRCARC -fno-objc-arc 使原来不支持ARC的代码,支持ARC
    ARCMRC -fobjc-arc 使原来不支持MRC的代码,支持MRC
    ARC工程中也可以使用MRC的类

    TargetsBuild phases选项下Compile Sources下选择要不使用arc编译的文件,双击它,输入 -fno-objc-arc 即可

    图.ARC转MRC
    MRC工程中也可以使用ARC的类。方法如下:

    TargetsBuild phases选项下Compile Sources下选择要不使用arc编译的文件,双击它,输入 -fobjc-arc 即可

    图.MRC转ARC
    iOS 开发中如何用宏判断是ARC环境还是MRC环境?
    宏代码:
        //条件满足ARC
    #if __has_feature(objc_arc)
    //    否则执行MAC
        
        NSLog(@"ARC");
    #else 
        NSLog(@"MRC");
    
    # endif
    
    
    图 .放松时刻.gif
    链接:

    xcode中arc与非arc之间的转换

    相关文章

      网友评论

          本文标题:iOS开发如何代码判断ARC还是MRC?宏如何写?如何混编?

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