我在構建應用程序時遇到過一些問題。 我已經在MyObject1中聲明瞭一個協議,並在其上添加了委託屬性。我已經將MyObject2分配爲MyObject1的代理。我以這種方式添加它像往常一樣無法在Xcode中找到協議聲明
@interface MyObject2 : UIViewController <DelegateOfObject1>
但Xcode中說,我該協議的聲明無法找到。我檢查了我的代碼,但是我已經聲明瞭這個協議。我已經嘗試將MyObject2指定爲其他Object的委託。 我已經編輯我的代碼,這樣
@interface MyObject2 : UIViewController <UITableViewDelegate,DelegateOfObject1>
但Xcode中再次說,它無法找到DelegateOfObject1的協議的聲明。我試圖刪除我的代碼上的DelegateOfObject1,並添加分配MyObject作爲其他對象的委託,它就像這樣。已發現
@interface MyObject2 : UIViewController <UITableViewDelegate,UITabBarDelegate>
沒有錯誤。然後我又試着在代碼
@interface MyObject2 : UIViewController <UITableViewDelegate,UITabBarDelegate,DelegateOfObject1>
再次加我DelegateOfObject1當時的Xcode沒有找到我的代碼的任何錯誤。所以我再次嘗試去除我的代碼上的UITableViewDelegate和UITabBarDelegate。
@interface MyObject2 : UIViewController <DelegateOfObject1>
當時沒有錯誤已經找到了,但是這是相同的代碼,我寫之前已經。什麼應該可能是我的代碼上的東西的原因?
謝謝...
'@protocol DelegateOfObject1 @optional - (void)someThingHappensAt:(NSString *)onWhatStuff; @ end' –
edie
2010-04-29 12:26:39
FWIW我確實有這個錯誤,但它是由框架搜索路徑中指定的文件夾之一中的一個框架的舊版本的重複副本引起的。舊版本不包含有問題的協議,但包含的文件夾首先出現在搜索路徑順序中。刪除重複的框架解決了錯誤。 – StephenT 2015-05-06 19:17:09
請檢查此解決方案http://stackoverflow.com/questions/6447573/cannot-find-protocol-declaration – 2017-04-08 11:54:14