美文网首页八天学会OC
第06天OC语言(06):ARM和MRC混编

第06天OC语言(06):ARM和MRC混编

作者: liyuhong | 来源:发表于2017-07-22 08:57 被阅读10次
    • 不要等到明天,明天太遥远,今天就行动。
    须读:看完该文章你能做什么?

    ARC和MRC混合

    学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)

    什么是ARC,什么是MRC


    一、本章笔记
     如果当前项目是 ARC项目
     
     但是有非ARC的代码 则需要将文件编译成ARC代码
     
     需要前往 项目 -->TARGETS Build Phases
     设置 非ARC的文件 在Complie Sources(编译文件)
     添加 -fno-objc-arc
    
    
    二、code
    main.m
    #pragma mark 06-ARM和MRC混编
    #pragma mark 概念
    /**
     如果当前项目是 ARC项目
     
     但是有非ARC的代码 则需要将文件编译成ARC代码
     
     需要前往 项目 -->TARGETS Build Phases
     设置 非ARC的文件 在Complie Sources(编译文件)
     添加 -fno-objc-arc
     */
    #pragma mark - 代码
    #import <Foundation/Foundation.h>
    #pragma mark 类
    
    #pragma mark main函数
    int main(int argc, const char * argv[])
    {
        
        // -fno-objc-arc
        return 0;
    }
    
    
    Person
    >>>.h
    #import <Foundation/Foundation.h>
    @class Dog;
    @interface Person : NSObject
    @property (nonatomic, strong) Dog *dog;
    @end
    
    >>>.m
    #import "Person.h"
    
    @implementation Person
    
    @end
    
    
    Dog
    >>>.h
    #import <Foundation/Foundation.h>
    @class Bone;
    @interface Dog : NSObject
    @property(nonatomic, retain)Bone *bone;
    @end
    
    >>>.m
    #import "Dog.h"
    
    @implementation Dog
    
    - (void)dealloc
    {
        [_bone release];
        [super dealloc];
    }
    @end
    
    
    Bone
    >>>.h
    #import <Foundation/Foundation.h>
    
    @interface Bone : NSObject
    
    @end
    
    >>>.m
    #import "Bone.h"
    
    @implementation Bone
    - (void)dealloc
    {
         NSLog(@"%s",__func__);
        [super dealloc];
    }
    @end
    
    

    相关文章

      网友评论

        本文标题:第06天OC语言(06):ARM和MRC混编

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