2017-04-19 101 views
1

我糊塗了一點關於進口在Objective-C,所以我想確保有關的東西:Circular #import,我做錯了嗎?

我有啊和我,了Bh和BM,我目前在上午,並#import "A.h"了Bh添加#import "B.h",它的工作,沒有警告或錯誤,但這會產生任何問題?

原因,我不能用@class是因爲我宣佈的協議,並在A.H一個枚舉,並用它B.h,@class不能趕上

感謝您的幫助。

+0

[Circular #import Reference](http://stackoverflow.com/questions/12994286/circular-import-reference) –

+0

的可能重複您可以使用這樣的前向聲明。 :) –

+0

@ShamasS我知道'@ class',但我不能使用它,因爲我在Ah中聲明瞭一個協議和枚舉,並使用它,Bh,'@ class'無法捕捉到,可能與其他問題不同 – Tj3n

回答

-1

你試過C的方式嗎?

#ifndef MYCLASS 
#define MYCLASS 
#import "A.h" 
#endif 
+0

我改變了'#define MYCLASS MYCLASS'只有它有效,但是這樣做與我所做的不同嗎? – Tj3n

+0

它只避免同一類的多重定義。因爲有時候,具有多個依賴項的多重導入會導致應用程序在運行時崩潰,或者在編譯之前有時會出現錯誤 –

+0

Mine顯示完全沒有問題,應該來回測試,如果兩個'.h'的循環導入可能會是問題,但這是'.m',它有什麼不同嗎? – Tj3n