2012-03-21 71 views
1

我有2個文件,somefile.hsomefile.m。我想將它們合併成一個.m文件(關於爲什麼的長篇故事)。但是,我的AppController使用somefile進行一些調用。所以,在我的AppController的頂部,我有一個#import "somefile.h"。很明顯,當我組合這些文件時,.h文件將被刪除。所以,我可以只使用#import "somefile.m",仍然有一切工作?導入.m文件

謝謝!

+2

請詳細說明爲什麼你想要一個文件。分而治之比在一個'.m'文件中擁有大量的類更好。 – 2012-03-21 15:46:16

+0

@ RichardJ.RossIII因爲我通過Unity3d構建Xcode項目。 Unity在導入頭文件時遇到問題,它只會導入.m's。我認爲這可能是一個簡單的解決方法,因此我不必深入研究Unity的構建腳本。 – John 2012-03-21 15:52:22

回答

2

我剛做了一個測試,它看起來像這是可能的。

我能夠導入以下.m文件並使用它。但是,我不得不從編譯源代碼列表首先除去它:

#import <Foundation/Foundation.h> 

@interface MyClass : NSObject 

+ (void)staticMethod; 
- (void)instanceMethod; 

@end 


@implementation MyClass 

+ (void)staticMethod 
{ 

} 
- (void)instanceMethod 
{ 

} 

@end 

然而,這仍是一個壞習慣,你應該避免。

+0

非常感謝! – John 2012-03-22 04:09:29

0

並非如此,Objective-C的工作原理與C或C++類似,只能導入頭文件,而不是實現文件。

+5

從技術上講不是真的。如果你小心,導入一個.m文件是安全的。如果僅使用靜態函數,或者從編譯單元中除去.m文件,則導入.m文件是安全的。 – 2012-03-21 15:47:28