最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

一,導入頭文件有兩種不同的方法:

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

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

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

     例如,對象復合后,這個復合使用指向?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,那么這兩個類就可以互相引用了。

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

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

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

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

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

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

相關(guān)文章

  • iOS自定義滑桿效果

    iOS自定義滑桿效果

    這篇文章主要為大家詳細介紹了iOS自定義滑桿效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • iOS開發(fā)支付寶支付成功返回字符串的處理操作

    iOS開發(fā)支付寶支付成功返回字符串的處理操作

    很多朋友在做ios開發(fā)項目時,遇到支付寶支付成功返回字符串的處理操作不知道該怎么辦,今天小編給大家分享實例代碼,需要的朋友參考下
    2017-02-02
  • 總結(jié)IOS界面間跳轉(zhuǎn)的幾種方法

    總結(jié)IOS界面間跳轉(zhuǎn)的幾種方法

    前段時間被問到界面間的跳轉(zhuǎn)有幾種方式?想不到說的竟有點含糊其辭,于是就想總結(jié)一下。有句話說的好,“前人種樹,后人乘涼”,目前作為一個乘涼者,我也希望能種一些樹木,為代碼世界營造一份清新。好了,話不多說,進入主題。
    2016-08-08
  • Objective-C中的語法糖示例詳解

    Objective-C中的語法糖示例詳解

    開發(fā)過程中我特別喜歡用語法糖,原因很簡單,懶得看到一堆長長的代碼,但語法糖簡單卻不那么簡單,下面這篇文章主要給大家介紹了關(guān)于Objective-C中語法糖的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2018-01-01
  • Xcode中Info.plist字段詳解

    Xcode中Info.plist字段詳解

    我們通過本篇文章給大家整理了Xcode中Info.plist字段的詳細內(nèi)容,有需要的朋友學習下。
    2018-01-01
  • Xcode 升級導致插件失效的解決辦法

    Xcode 升級導致插件失效的解決辦法

    這篇文章主要介紹了Xcode 升級導致插件失效的解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • iOS輕點、觸摸和手勢代碼開發(fā)

    iOS輕點、觸摸和手勢代碼開發(fā)

    這篇文章主要為大家詳細介紹了iOS輕點、觸摸和手勢代碼開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • iOS開發(fā)教程之Status Bar狀態(tài)欄設(shè)置的方法匯總

    iOS開發(fā)教程之Status Bar狀態(tài)欄設(shè)置的方法匯總

    iOS 的 Status Bar 狀態(tài)欄是一個比較坑的地方,所以下面這篇文章主要給大家介紹了關(guān)于iOS開發(fā)教程之Status Bar狀態(tài)欄設(shè)置的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-08-08
  • IOS改變UISearchBar中搜索框的高度

    IOS改變UISearchBar中搜索框的高度

    這篇文章主要介紹了IOS改變UISearchBar中搜索框的高度的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • 談?wù)劄楹蝘OS開發(fā)別用宏來定義常量

    談?wù)劄楹蝘OS開發(fā)別用宏來定義常量

    最近在工程里看到很多不規(guī)范的使用,于是來寫一篇博客來讓不是很清楚的小朋友們,使用正確的規(guī)范開發(fā)ios,少埋點坑。
    2016-08-08

最新評論

祁东县| 松阳县| 那坡县| 额敏县| 门源| 中方县| 西城区| 卓尼县| 宝应县| 资源县| 行唐县| 石城县| 那坡县| 江西省| 和龙市| 磴口县| 沁水县| 张家川| 无极县| 措美县| 徐闻县| 内黄县| 綦江县| 浦北县| 鸡西市| 荔波县| 芦溪县| 庆城县| 赣榆县| 资阳市| 左权县| 松溪县| 神木县| 大渡口区| 大冶市| 阜新| 彭阳县| 崇仁县| 临桂县| 蓬溪县| 泾阳县|