成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS中@class和 #import,兩種方式的討論

移動開發 iOS
我建議還是養成良好的import習慣,不要偷懶都把import放在h文件中,無論參與的項目大小,養成良好的編程習慣非常重要。

很多剛開始學習iOS開發的同學可能在看別人的代碼的時候會發現有部分#import操作寫在m文件中,而h文件僅僅使用@class進行聲明,不禁納悶起來,為什么不直接把#import放到h文件中呢?

這是因為h文件在修改后,所有import該h文件的所有文件必須重 新build,因此,如果把#import寫在h文件中,import該h文件的文件也就會產生不必要的編譯,增加編譯時間,特別是在項目文件多的情況 下。想象一下,如果只是修改一個h文件而導致上百個文件不必要的編譯,那是一件多么讓人糾結的事情。。。

對于@class只是告訴編譯器有這個class,請不要報錯或警告,因此不會給編譯造成影響。

什么時候用@class這種方式聲明比#import好呢?

stackoverflow上的高手們給了不少建議:

Randy Marsh:

When I develop, I have only three things in mind that never cause me any problems.

  1. Import super classes
  2. Import parent classes (when you have children and parents)
  3. Import classes outside your project (like in frameworks and libraries)

For all other classes (subclasses and child classes in my project self), I declare them via forward-class.

 

Justin:

Simple answer: You #import or #include when there is a physical dependency. Otherwise, you use forward declarations (@class MONClass ,struct MONStruct , @protocol MONProtocol ).

Here are some common examples of physical dependence:

  • Any C or C++ value (a pointer or reference is not a physical dependency). If you have aCGPoint as an ivar or property, the compiler will need to see the declaration ofCGPoint .
  • Your superclass.
  • A method you use.

 

最后,我建議還是養成良好的import習慣,不要偷懶都把import放在h文件中,無論參與的項目大小,養成良好的編程習慣非常重要。

責任編輯:冰凝兒
相關推薦

2011-08-08 14:13:47

iPhone XML NSXMLParse

2011-03-03 10:26:04

Pureftpd

2010-03-16 15:23:32

java動態載入

2020-02-21 17:33:17

SparkKafka數據

2021-05-27 10:57:01

TCP定時器網絡協議

2009-06-25 13:43:00

Buffalo AJA

2010-10-21 16:24:18

sql server升

2010-08-06 09:38:11

Flex讀取XML

2023-03-29 13:06:36

2022-03-24 23:04:37

linux靜態庫動態庫

2010-09-07 11:09:59

2010-07-27 15:03:37

Flex ArrayC

2010-05-10 18:19:00

負載平衡技術

2024-09-20 11:32:28

.NET內存管理

2010-07-14 10:30:26

Perl多線程

2011-03-23 11:22:14

oracle dbli

2010-07-15 14:38:55

Perl eval函數

2010-08-03 13:27:04

FlexBuilder

2011-04-02 09:48:38

深拷貝

2016-11-07 09:02:02

Malloc內存syscall
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本黄色免费视频 | 国产精品久久av | 久久久久久久av | 日本一区二区三区在线观看 | 激情欧美一区二区三区中文字幕 | 青青青伊人 | 日本久久久一区二区三区 | 日本黄视频在线观看 | 亚洲国产一区二区在线 | 男人亚洲天堂 | 欧美专区在线 | 久草高清视频 | 欧美成人精品一区二区男人看 | 99资源站| 综合欧美亚洲 | 中文字幕一区二区三区四区 | 亚洲成人综合在线 | 午夜a v电影 | 久久9999久久 | 成人免费观看视频 | 亚洲区一 | 亚洲人成在线播放 | 精品九九九 | 91麻豆精品国产91久久久久久久久 | 亚洲高清视频一区二区 | 国产乱码精品一品二品 | 亚洲精品视频免费看 | 久久精品国产亚洲 | 欧美 日韩 在线播放 | 欧美一区二区三区在线视频 | 国产免费xxx| 久久精品视频一区二区三区 | 黄色一级大片在线观看 | 国产综合久久 | 精品美女 | 国产成人精品一区二区三区在线 | 一区二区三区精品在线视频 | 特级特黄特色的免费大片 | 欧美色欧美亚洲另类七区 | 精品亚洲一区二区三区 | 天天综合操 |