我正在構建一個應用程序,在那裏我做了一個Menu類,這是一個tableview呈現給用戶(包含不同視圖控制器的鏈接,它應該在點擊時呈現)。 而不是導入任何視圖。在我的viewc中的任意一個頭文件中,我決定將所有視圖控制器頭文件導入到我的Menu.h中。這樣我可以從菜單類中進行所有應用程序導航。然後,我將在我的appDelegate.h中導入menu.h,然後僅將appDelegate.h導入到所有視圖控制器。是否有任何不可預見的缺點,或者我應該採取另一種方式?謝謝這是一個很好的方式來構造頭導入
0
A
回答
0
如果它編譯那麼沒問題,但是最好在頭文件中使用前向聲明,這樣可以提高編譯時間。
任何自定義類型可以在頭文件中向前聲明中,使用類,具有:
@class YourViewController;
,然後內使用類的實現文件,包括實際的頭文件:
#import "YourViewController.h"
使用向前聲明也可以停止依賴循環其中A.h
包括B.h
,其本身在包括A.h
。
0
這樣做,你將有一個包含循環(這是壞的!)。
Menu.h
被導入ViewController1.h
AppDelegate.h
是進口Menu.h
(和ViewController1.h
)
ViewController1.h
是進口AppDelegate.h
(和Menu.h
(和ViewController1.h
))
甲清潔解決方案是使用前向聲明需要時,並在.m文件中進行導入
相關問題
- 1. 這是一個很好的方式來sanatize php $ _POST輸入?
- 2. 這是一個很好的(有效)的方式來解決這個JavaScript鍛鍊
- 3. 更好的方式來構造這個JSON數據?
- 4. 一個很好的OO方式來做到這一點(C++)
- 5. 這是一個很好的方式來分配內存陣列的數組? (C)
- 6. 這是一個很好的得分方式嗎?
- 7. 這是一個很好的方式來維護國際化資源在.net
- 8. 這是一個很好的方式來刪除腳本,Onmouseover,onerror和onload用PHP
- 9. 是否有更好的方式來瓦解這個導航欄
- 10. 灰燼混入 - 這是一個很好的方式,實現「動態」佈局
- 11. 更好的方式來編寫這個屬性和構造函數代碼?
- 12. 這是一個很好的習慣嗎?
- 13. 這是一個很好的實現gameloop
- 14. 這是一個很好的IF塊嗎?
- 15. 這是一個很好的使用ActionBar?
- 16. 這是一個很好的PATCH格局
- 17. 它是一個很好的方式來返回JavaScript中的另一個函數?
- 18. 一個更好的方式來更新/導入項目
- 19. svn - 2'包'一個使用另一個元素,最好的方式來構造這個?
- 20. 這是一個很好的asp.net網站架構選擇?
- 21. 這是一個很好的博客結構嗎?
- 22. 這是一個很好的方式來設置Moq返回一個特定的值只有一定的次數?
- 23. 是否有更簡潔的方式來構造這些條件?
- 24. 這是一個更好的方式來了解
- 25. 一個很好的方式來實現l.php像Facebook一樣?
- 26. 這對很多構造函數都很好嗎?
- 27. 梁2 - 一個很好的方式來實現這樣的範圍
- 28. 這是一個很好的使用案例來使用服務?
- 29. 從構造函數中調用方法是否是一種很好的做法?
- 30. 這是NSArray的複製方法的一個很好的用法?
我明白依賴循環很糟糕,但將menu.h包含在所有視圖控制器中是不對的。我的意思是,這是有道理的,因爲所有的vc只有一個需要菜單。向所有其他視圖控制器做出聲明,但目前的視圖控制器似乎很髒並且更雜亂。但是,你們不會有自我進口的問題。對不起,如果我不清楚 – DevilInDisguise