Objective-C中有類似的指令:是否可以在Objective-C中創建自定義指令?
- @interface
- @implementation
- @end
- @protocol
- @property
- @synthesize
我想這些東西像複雜的馬可或代碼生成器。是否可以爲代碼生成目的創建自定義指令?一種可能的用途是爲CoreData生成方法。
我在想沒有,因爲我從來沒有見過它,但我的世界不是這個世界。
的後續問題:
喬納森下文提到的,這是可以編寫自己的預處理器,這回避了如何的問題。目前,#define SYMBOLIC_CONSTANT 102將在文件移動到編譯器之前,用文件中的字符102替換字符SYMBOLIC_CONSTANT的所有實例。
我知道它XCode,你可以添加一個「運行腳本階段」到目標構建過程。所以我可以編寫一個腳本來查找像'$ coredata'這樣的自定義預處理指令,然後讓該腳本生成一個新文件,其中字符$ coredata替換爲一些代碼字符。但是從我所瞭解的XCode構建過程中,您無法將更改後的文件提供到編譯器源代碼階段。這些文件由IDE指定並鎖定。
有沒有人做過類似的事情?我知道使用外部構建系統是可能的,但說實話我並不是那麼瞭解。我不知道Build和Run按鈕的功能。
在此期間,我開始閱讀蘋果的Xcode文檔...
感謝您的答覆!
我沒有說這會很容易。然而,像`$ coredata`這樣的東西是一個有效的C預處理器標記(`$`可以在符號/宏名稱中使用),所以它可以在#define語句中使用。不過,如果你告訴我們你的目標,我們可能會提出一個更容易或更好的解決問題的方法。 – 2011-02-12 19:27:50