2011-11-08 68 views
-2

我有一個非常簡單的UIFont類:無法編譯UIFont類

#import <UIKit/UIKit.h> 

@interface UIFont (MyCategory) 
- (CGFloat)test; 
@end 

而且我得到了編譯器錯誤:

Missing @end 
Method type specifier must start with '-' or '+' 

我創造了另一個UIFont類,編譯器就可以了吧。

#import <UIKit/UIKit.h> 

@interface UIFont (Test) 
- (CGFloat)test; 
@end 

它是xcode中的錯誤嗎?

謝謝。

回答

3

這是Xcode中的一個bug的可能性很可能是

更好的機會是您的代碼中的隱形字符。嘗試刪除它並重新輸入。

1

我已經編寫了您的確切代碼,並且編譯得很好,即使沒有任何實現文件。

在第一次嘗試的某個地方有一個隱形人物的可能性很大。請檢查您的文件名是否有問題(機會少,但爲什麼不)。

如果獲取工作版本並替換Test by MyCategory,會發生什麼情況?

+0

我創建了一個新項目並將完全相同的文件複製到新項目中。一切都編好了。 – user1036167

+0

@ user1036167:這很奇怪......? :-)那麼,如果這有效...希望我的回答可以幫助你一點點:-) – Oliver

+0

原來它是由兩件事引起的:1)以前的導入.h文件缺少@end 2)其中一個.h缺少必要的UIKit.h。 Xcode應該抱怨原始錯誤,相反,它錯誤的文件是正確的。 – user1036167