@class和#import
生活随笔
收集整理的這篇文章主要介紹了
@class和#import
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
@class
作用:
可以簡單的引用一個類
簡單使用:
@class Dog;
僅僅是告訴編譯器,Dog是一個類;并不會包含Dog這個類的所有內容
具體使用:
在.h文件中使用@class引用一個類
在.m文件中使用#import包含這個類的.h文件
作用上的區別
#import會包含引用類的所有信息(內容),包含引用類的變量和方法
@class僅僅是告訴編譯器有這么一個類,具體這個類里有什么信息,完全不知道
效率上的區別
如果有上百個頭文件都#import了同一個文件,或者這些文件依次被#import,那么一旦最開始的頭文件稍有改動,后面引用到這個文件的所有類都需要重新編譯一遍,編譯效率非常低
相對而言,使用@class方式就不會出現這種問題了
其他使用場景
對于循環依賴關系來說,比如A類引用B類,同時B類也引用A類
這種嵌套包含的代碼編譯會報錯
當使用@class在兩個類相互聲明,就不會出現編譯報錯
轉載于:https://www.cnblogs.com/saurik/p/4831380.html
總結
以上是生活随笔為你收集整理的@class和#import的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS知识(4)----初级教程之常见问
- 下一篇: 电影里王菲饰演的患淋巴癌是哪个?