在xcode中,當我添加一個新的objective-c文件時,會出現一個複選框,其中會顯示「添加頭文件」之類的內容。我應該在什麼情況下解開這個盒子,如果我這樣做會怎麼做?當我不包含頭文件時會發生什麼
0
A
回答
2
如果您需要不同的.m或.c文件才能訪問您創建的.m文件中定義的符號,請選中該複選框。這些符號需要在檢查複選框時爲您創建的.h文件中聲明。例如,其他文件中使用的類聲明將屬於您的頭文件。
3
您可以跳過任何不需要單獨聲明任何符號的對象文件的頭文件。
這在基於CLI的應用程序中相當常見。 「C運行時」(例如crt1.o
)知道如何調用main
,因此通常可以省略.c
文件的頭文件,該文件定義了main
函數(假設您的應用程序只有一個源文件或者沒有其他源文件參考在與main
相同的文件中定義的符號)。
來自UDPEcho sample的main.m
文件是不需要.h
文件的Objective C文件的一個示例。
基於可可的應用程序中的大多數「模塊」都需要一個頭文件,因爲它們需要將至少一個符號導出到應用程序的某個其他位。有時你需要發送消息給另一個文件中定義的類的實例,有時需要知道你的類中有哪些動作和插座可用。提供這些信息的最簡單方法是通過頭文件。
相關問題
- 1. 當我不提供-hd文件時會發生什麼?
- 2. 當我嘗試在C++中包含頭文件時,爲什麼會出錯?
- 3. 當包含lambda的類型被分配時會發生什麼?
- 4. 當我ping 127.0.0.1時會發生什麼
- 5. 當我編譯時會發生什麼?
- 6. 當我讀/寫同一個文件時會發生什麼?
- 7. 當我用花括號包圍它時會發生什麼?
- 8. 當文件被刪除時,文件句柄會發生什麼?
- 9. 當程序運行時發生事件時會發生什麼
- 10. 當.aof文件會非常大時會發生什麼?
- 11. 爲什麼包含標準頭文件?
- 12. 當在.c文件中包含.h文件時發生LNK2005
- 13. 當我選擇工作表時會發生什麼事件?
- 14. 當我多次訂閱Timer.Elapsed事件時會發生什麼?
- 15. 當我不施放時會發生什麼?
- 16. 當localStorage已滿時會發生什麼?
- 17. 當redis重載時會發生什麼?
- 18. 當FlatFileFooterCallback出錯時會發生什麼?
- 19. 當AsyncTasks已滿時會發生什麼?
- 20. 當crontabs重疊時會發生什麼?
- 21. 當EditText有空時會發生什麼?
- 22. 當VRAM已滿時會發生什麼?
- 23. 當我包含標題時,Gradle不會生成可執行文件
- 24. 什麼是H.450.2?當它不存在時會發生什麼?
- 25. 當你rm文件時會發生什麼?
- 26. 當git合併失敗時,其他文件會發生什麼?
- 27. 當cookies文件超過最大尺寸時會發生什麼?
- 28. 當一個hazelcast集羣只包含lite成員時會發生什麼?
- 29. 當在另一個目錄中包含ctime頭文件時發生vim錯誤
- 30. 爲什麼在編譯GCC時不需要包含我的頭文件?
觀察兩種情況。有什麼不同嗎? – 2010-11-06 07:17:33
只創建了objective-c文件。但我的意思是,爲什麼你甚至想創建沒有頭文件的objective-c文件? – TheAmateurProgrammer 2010-11-06 07:23:23