1

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

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

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

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

在 viewController.m

[self.view addSubview:tabbars.view];

标签栏包含 TodayViewController、setupViewController、statsViewController、guideViewController、helpViewController。

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

在我的一个视图控制器“timerViewController.h”中我导入Appdelegate.h并在 timerViewController.m 中写入 viewDidload

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

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

在今天ViewController.m

对我来说很好

但是当我导入 Appdelegate.h 时,它会抛出“未找到协议声明”的错误,我是 iphone 新手,请帮助我,谢谢。

4

1 回答 1

0

当您访问您的应用程序委托时,您也其转换为您应用程序的特定应用程序委托。

AppDelegate *appDelegate = 
   (AppDelegate*)[[UIApplication sharedApplication] delegate];
于 2012-10-09T11:14:07.047 回答