2012-12-20 28 views
3

我遇到了一個問題,我現在在昨天工作正常的文件中有錯誤。我沒有改變文件,但我有這些新的錯誤。我的代碼在下面,每條線都有錯誤評論:Objective-C:類別頭文件中的新隨機錯誤

#import <Foundation/Foundation.h> 

@interface NSString (stringByStrippingHTML) // Error 1: Missing "@end" Error 2: Expected a type Error 3: Method type specifier must start with '-' or '+' 

- (NSString *) stripHTML; // Expected selector for Objective-C method 

@end 

爲什麼這些錯誤突然出現,我該如何解決它們?

+1

嘗試清理該項目 –

+0

感謝您的建議。我嘗試過,只是簡單地重新制作文件,但都不起作用。另外,重新啓動Xcode和我的電腦不成功。 –

+0

這個類別只包含這4行嗎? –

回答

0

我用完全相同的代碼創建了一個文件,它編譯得很好。當我刪除@end行時,我收到了與列表中相同的錯誤消息。

  1. 你確定你的文件包含完全代碼在你的問題?嘗試複製問題中的代碼並將其粘貼到文件中。

  2. Error 1: Missing "@end"可能表明文件中存在亂碼。如果你有BBEdit,試試「Zap Gremlins」。如果沒有,您可以下載試用版。

+0

感謝您的回答。我複製並粘貼我的代碼到我的問題中,所以它完全一樣。就像我在最初的問題中所說的那樣,它昨天運行良好。在某個時候,我剛剛得到了這些錯誤,我不確定他們爲什麼剛剛彈出。 –

+0

奇怪。有些東西似乎是讓Xcode不可見的@ end語句。如果你刪除' - (NSString *)stripHTML;'你還會得到錯誤嗎? – SSteve

+0

是的,當我刪除該行時,錯誤仍然存​​在。由於我只在幾個地方使用這種方法,因此我試圖擺脫這個類別,並將代碼放在有意義的位置。現在,我有新的錯誤,而不是使用我的stripHTML方法的文件,但在其他無關的文件中。 –

2

我有完全一樣的問題,事實證明,因爲我已經在一個差勁的鍵入錯誤造成的 - 該文件只是竟然放棄問題的文件上面的符號(錯誤)「」 。

這是文件的正上方一個給人錯誤的開頭:

-// 
// AsyncUIImageView.m 
// TableView 
// 
// Created by www.thecodecrate.com on 23/01/15. 
// Copyright (c) 2015 www.TheCodeCrate.com. All rights reserved. 
// 
//================================================================================ 
#import "AsyncUIImageView.h" 
... 

見「 - 」在頂部?一旦被刪除,該死的問題就消失了!

0

事情不只是隨機發生。你認爲你沒有改變,但你做了一些改變。將您當前的文件與以前的工作版本進行比較。你有以前的工作版本,在某個地方,對嗎?如果沒有,這是一個寶貴的教訓:確保您使用源代碼控制系統,讓您訪問以前版本的代碼。你有一個工具可以比較你的當前版本和以前的版本,對不對?如果不是,儘快找到一個。

這個錯誤很可能是你在這之前包含的頭文件中缺少@end。