我在构建应用程序时遇到过一些问题。 我已经在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