在viewcontroller中导入Appdelegate时找不到自定义协议的协议声明

时间:2012-10-08 13:53:49

标签: iphone objective-c xcode

我搜索了很多方法,但没有找到任何答案。在我的应用程序中,我在视图控制器中编写了一个自定义协议,并将其导入另一个视图控制器。当我构建它时,它会抛出“未找到协议声明”的错误。我正确地导入了头文件和委托,并在我的一个视图控制器中共享了appdelegate。

我观察到一件事,当我在我的视图控制器的.h文件中注释#import "AppDelegate.h"而在.m文件协议中的[UIApplication sharedApplication]工作正常。

我正在使用ARC,并在X-code 4.3.3上运行,请帮助摆脱这个问题。

在我的应用程序中我有LoginViewController,登录后用户将转到viewController,其中我添加了带有五个视图控制器的tabbar.tabbar视图添加到viewcontrolller视图。

在viewController.m中

[self.view addSubview:tabbars.view];

tabbar包含TodayViewController,setupViewController,statsViewController,guideViewController,helpViewController。

TodayViewController中有注销按钮。当用户点击注销视图时,应该弹出到loginViewController.for我在今天的视图控制器中编写了一个协议。并在ViewController中导入。

在我的一个视图控制器'timerViewController.h'中我导入了Appdelegate.h并在其中 timerViewController.m in view in viewDidload

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

当我在todayViewController.h中评论Appdelegate.h时 AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

在todayViewController.m

对我来说很好用

但是当我导入Appdelegate.h时会抛出“找不到协议声明”的错误  我刚接触iphone请帮助我 谢谢。

1 个答案:

答案 0 :(得分:0)

当您访问自己的应用委托时,您也 将其发送给您应用的特定应用委托。

AppDelegate *appDelegate = 
   (AppDelegate*)[[UIApplication sharedApplication] delegate];