第06天OC語言(07):MRC轉(zhuǎn)ARC

  • 不要等到明天,明天太遙遠(yuǎn),今天就行動(dòng)。
須讀:看完該文章你能做什么?

如何將一個(gè)MRC的項(xiàng)目 轉(zhuǎn)成 ARC

學(xué)習(xí)前:你必須會(huì)什么?(在這里我已經(jīng)默認(rèn)你具備C語言的基礎(chǔ)了)

什么是ARC,什么是MRC


一、本章筆記
   MRC 轉(zhuǎn) ARC 項(xiàng)目
    1.> Edit -> Convert -> To Objective-C ARC
二、code
main.m
#pragma mark 07-ARC?MRC
#pragma mark 概念
/*
    MRC 轉(zhuǎn) ARC 項(xiàng)目
    1.> Edit -> Convert -> To Objective-C ARC
 */
#pragma mark - 代碼
#import <Foundation/Foundation.h>
#pragma mark 類
#import "Person.h"
#import "Dog.h"
#import "Bone.h"

#pragma mark - main函數(shù)
int main(int argc, const char * argv[])
{
    Person *p = [[Person alloc]init];
    Dog *d = [[Dog alloc]init];
    Bone *b = [[Bone alloc]init];
    

    return 0;
}

Person
>>>.h
#import <Foundation/Foundation.h>
@class Dog;
@interface Person : NSObject
@property (nonatomic, strong) Dog *dog;
@end
>>>.m
#import "Person.h"
#import "Dog.h"
@implementation Person

- (void)dealloc
{
     NSLog(@"%s",__func__);
}

@end

Dog
>>>.h
#import <Foundation/Foundation.h>
@class Bone;
@interface Dog : NSObject
@property(nonatomic, strong)Bone *bone;
@end
>>>.m
#import "Dog.h"
#import "Bone.h"
@implementation Dog

- (void)dealloc
{
    NSLog(@"%s",__func__);
     // Receiver type 'Bone' for instance message is a forward declaration
}
@end

Bone
>>>.h
#import <Foundation/Foundation.h>

@interface Bone : NSObject

@end

>>>.m
#import "Bone.h"

@implementation Bone
- (void)dealloc
{
     NSLog(@"%s",__func__);
}
@end


1.MRC轉(zhuǎn)ARC流程圖

image.png
image.png

2.出現(xiàn)錯(cuò)誤的情況

image.png

2.1定位到錯(cuò)誤

image.png

缺少導(dǎo)入頭文件

image.png

3.沒有錯(cuò)誤

image.png
注意:對(duì)比每個(gè)MRC文件修改之后 變成ARC的面板(左邊是轉(zhuǎn)換之后,右邊是轉(zhuǎn)換之前)【如果項(xiàng)目比較龐大比較大的可能轉(zhuǎn)換失敗,建議先拷貝項(xiàng)目再進(jìn)行轉(zhuǎn)換】
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 不要等到明天,明天太遙遠(yuǎn),今天就行動(dòng)。 須讀:看完該文章你能做什么? ARC和MRC混合 學(xué)習(xí)前:你必須會(huì)什么?(...
    liyuhong閱讀 273評(píng)論 0 0
  • 春節(jié)前抽空花了一天的時(shí)間將手頭的工程從MRC轉(zhuǎn)成了ARC,然后陸陸續(xù)續(xù)地修復(fù)一部分因?yàn)檗D(zhuǎn)ARC引起的內(nèi)存泄漏和崩潰...
    Blunt的技術(shù)博客閱讀 962評(píng)論 0 2
  • 一、深復(fù)制和淺復(fù)制的區(qū)別? 1、淺復(fù)制:只是復(fù)制了指向?qū)ο蟮闹羔槪磧蓚€(gè)指針指向同一塊內(nèi)存單元!而不復(fù)制指向?qū)ο蟮?..
    iOS_Alex閱讀 1,424評(píng)論 1 27
  • Cocoa內(nèi)存管理機(jī)制 (1)當(dāng)你使用new、alloc、copy方法創(chuàng)建一個(gè)對(duì)象時(shí),該對(duì)象的保留計(jì)數(shù)器值為1.當(dāng)...
    John_LS閱讀 2,816評(píng)論 0 6
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,210評(píng)論 30 471