默認情況下,當您要求新的ObjC類時,Xcode會同時創建.h和.m文件。直到你需要到別處指任何C++文件在您的項目,並開始#進口將其投入或者您的.H或.m文件從來沒有創建ObjC文件但總是創建ObjC++文件的缺點?
在這一點上,ObjC編譯武功心亂如麻 一切正常,並引發山解析錯誤,而你的用戶(也就是說,我)會更加困惑,直到它碰到我爲止:當然,我應該使該文件成爲ObjC++文件。
的選項有:
- 告訴Xcode中,這個特殊的文件,即使它是一個.m文件 確實是一個ObjC++文件,或
- 重命名文件.mm。
第一種選擇是不是很可口給我,因爲該文件確實是的ObjC++不管該項目認爲它是什麼。
第二個選項不好,因爲它搞砸了Git回購,然後'忘記'以前有另一個.m文件,這真的是這個'新'.mm文件的歷史。
所以我決定從現在開始總是重新命名任何.m文件,Xcode爲我創建.mm創建它之後的第一件事,這樣我就不會失去歷史。
到目前爲止,它對我來說效果不錯,但是我的腦海裏有這種輕微的擔心,可能會出現一些我真的想要ObjC文件而不是ObjC++文件的情況。
那些角落案件會是什麼?任何人都知道任何ObjC++文件不會包含任何C++引用,但會以某種方式窒息ObjC編譯器,只是憑藉.mm文件?
如果沒有缺點,爲什麼不直接棄用.m而是堅持使用.mm呢?
這是一個很好的建議。任何提示,以避免我的新.mm模板在下一次Xcode更新被覆蓋/銷燬? – verec
將模板放置在用戶模板文件夾中,其位置在我鏈接到的文章中提到,應該足以防止在將來的Xcode更新中覆蓋您的模板。 –
哦,我的!只是忽略了那一點。非常感謝! – verec