欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IOS 頭文件導(dǎo)入-@class注意事項總結(jié)

 更新時間:2017年05月16日 11:18:53   投稿:lqh  
這篇文章主要介紹了IOS 頭文件導(dǎo)入-@class注意事項總結(jié)的相關(guān)資料,需要的朋友可以參考下

IOS 頭文件導(dǎo)入-@class注意事項總結(jié)

一,導(dǎo)入頭文件有兩種不同的方法:

使用引號或者使用尖括號,例如,#import <Cocoa/Cocoa.h>和#import "Tire.h".帶尖括號的語句是用來導(dǎo)入系統(tǒng)頭文件的,而帶引號的語句則說明導(dǎo)入的是項目本地的頭文件,如果你看到的頭文件名是用尖括號括起來的,那么這個頭文件對你的項目來說是只讀的,因為它屬于系統(tǒng)。如果頭文件名是被引號括起來的,那么你(或參與這個項目的其他人)就可以編輯它。

二,Objective-C提供了一種方法能夠減少由依賴關(guān)系引起的重新編譯所帶來的影響。

依賴關(guān)系問題的存在是因為Objective-C編譯器需要某些信息才能夠工作。有時,編譯器需要知道類的全部信息,例如它的實例變量配置,它所繼承的所有類等。而有的時候,編譯器只需要知道類名即可,不需要了解它的整個含義。

     例如,對象復(fù)合后,這個復(fù)合使用指向?qū)ο蟮闹羔?。這樣之所以能行得通,是因為所有Objective-C對象都存放在動態(tài)分配的內(nèi)存中。編譯器只需要知道這是一個類就可以了。然后它就地發(fā)現(xiàn)這個實例變量是指針的大小,而這個指針的大小在整個程序中都不會改變。

    Objective-C引入了關(guān)鍵字@class來告訴編譯器:“這是一個類,所以,我只需要通過指針來引用它。”這樣編譯器就會“平靜”下來:它并不需要知道關(guān)于這個類的更多信息,只要了解它是通過指針來引用的即可。

    @class創(chuàng)建了一個前向引用。就是在告訴編譯器:“相信我,以后你會知道這個類到底是什么,但是現(xiàn)在,你只需要知道這些”,如果有循環(huán)依賴關(guān)系,@class也很有用。即A類使用B類,B類也使用A類。如果試圖通過#import語句讓這兩個類互相引用,那么最后就會出現(xiàn)編譯錯誤。但是如果在A.h中使用@class B,在B.h中使用@class A,那么這兩個類就可以互相引用了。

三,有時候,我們在文件中導(dǎo)入了Engine.h而沒有導(dǎo)入<Cocoa/Cocoa.h>,這是為什么呢?

我們知道,Engine.h中已經(jīng)導(dǎo)入了<cocoa/Cocoa.h>,所以,不需要我們自己再導(dǎo)入一遍了。然而,如果你想在該文件里加上#import <Cocoa/Cocoa.h>,這是可以的,因為#import命令具有足夠的智能,它不會重復(fù)導(dǎo)入自己的文件。 

四,在學習過程中,我們認識了跨文件依賴關(guān)系,在這種關(guān)系中,頭文件或源文件需要使用另一個頭文件中的信息。

文件之間互相重復(fù)的導(dǎo)入會增加編譯次數(shù),也會導(dǎo)致不必要的重復(fù)編譯。而巧妙地使用@class命令能夠減少編譯時間,@class告訴編譯器“相信我,你最終能夠了解這個名稱的類”,它可以減少不得不導(dǎo)入的頭文件數(shù)量。

 參考資料:《Objective-C基礎(chǔ)教程》

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • iOS 修改alertViewController彈框的字體顏色及字體的方法

    iOS 修改alertViewController彈框的字體顏色及字體的方法

    下面小編就為大家分享一篇iOS 修改alertViewController彈框的字體顏色及字體的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • iOS中常見的視圖和圖片處理示例詳解

    iOS中常見的視圖和圖片處理示例詳解

    在日常ios開發(fā)中經(jīng)常會遇到視圖和圖片的處理,下面這篇文章主要給大家總結(jié)介紹了關(guān)于iOS中常見的視圖和圖片處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習和工作具有一定的參考學習價值,需要的朋友可以參考下。
    2017-10-10
  • 總結(jié)iOS實現(xiàn)漸變顏色的三種方法

    總結(jié)iOS實現(xiàn)漸變顏色的三種方法

    這篇文章主要給大家總結(jié)了iOS實現(xiàn)漸變顏色的三種方法,分別是利用CAGradientLayer實現(xiàn)漸變、Core Graphics相關(guān)方法實現(xiàn)漸變以及用CAShapeLayer作為layer的mask屬性實現(xiàn),大家可以根據(jù)自己的需要選擇使用,下面來一起看看吧。
    2016-10-10
  • iOS實現(xiàn)手勢解鎖操作

    iOS實現(xiàn)手勢解鎖操作

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)手勢解鎖操作功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • iOS10添加本地推送(Local Notification)實例

    iOS10添加本地推送(Local Notification)實例

    這篇文章主要為大家詳細介紹了iOS10添加本地推送(Local Notification)實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS中的集合該如何弱引用對象示例詳解

    iOS中的集合該如何弱引用對象示例詳解

    這篇文章主要給大家介紹了關(guān)于在iOS中的集合該如何弱引用對象的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來依稀學習學習吧。
    2017-09-09
  • iOS中UILabel實現(xiàn)長按復(fù)制功能實例代碼

    iOS中UILabel實現(xiàn)長按復(fù)制功能實例代碼

    在iOS開發(fā)過程中,有時候會用到UILabel展示的內(nèi)容,那么就設(shè)計到點擊UILabel復(fù)制它上面展示的內(nèi)容的功能,也就是Label長按復(fù)制功能,下面這篇文章主要給大家介紹了關(guān)于在iOS中UILabel實現(xiàn)長按復(fù)制功能的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • IOS開發(fā)壓縮后圖片模糊問題解決

    IOS開發(fā)壓縮后圖片模糊問題解決

    這篇文章主要為大家介紹了IOS開發(fā)壓縮后圖片模糊問題解決實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • iOS中的UISlider滑塊組件用法總結(jié)

    iOS中的UISlider滑塊組件用法總結(jié)

    不僅是滑動開關(guān),UISlider組件也是常用的進度條制作工具,這里我們就一起來看一下iOS中的UISlider滑塊組件用法總結(jié),需要的朋友可以參考下
    2016-06-06
  • IOS 中彈框的實現(xiàn)方法整理

    IOS 中彈框的實現(xiàn)方法整理

    這篇文章主要介紹了IOS 中彈框的實現(xiàn)方法整理的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09

最新評論