0
一個奇怪的objective-c新手問題。我注意到我可以在.h文件中定義一個NSString,但不在.m文件中......爲什麼?爲什麼只能在頭文件中定義一個NSString常量?
宣言的問題是:
#define kSomeString @"This is a string"
該宣言失敗,一個錯誤,如果它在.m文件。
一個奇怪的objective-c新手問題。我注意到我可以在.h文件中定義一個NSString,但不在.m文件中......爲什麼?爲什麼只能在頭文件中定義一個NSString常量?
宣言的問題是:
#define kSomeString @"This is a string"
該宣言失敗,一個錯誤,如果它在.m文件。
你也可以在實現文件中定義它們。
#import "SAiPadHomeViewController.h"
#define hugo @"Test"
@interface SAiPadHomeViewController()
@end
@implementation SAiPadHomeViewController
@end
這個例子的工作原理 - 嘗試它。
Greetz!
什麼是錯誤? – 2012-03-28 18:20:41
+1 @JamesMcLaughlin。無論是在頭文件還是實現文件中,它都應該完全一樣。編譯器當然不在乎。 – 2012-03-28 18:21:24
@CarlNorum我可以確認你的結果,沒有錯誤。 Matthew Carriere,你的代碼肯定有問題。 – LuisEspinoza 2012-03-28 18:26:35