1

私は多くの方法を検索しましたが、答えが見つかりませんでした。私のアプリケーションでは、View Controller にカスタム プロトコルを記述し、それを別の View Controller にインポートしました。ビルドすると、「プロトコル宣言が見つかりません」というエラーがスローされます。ヘッダー ファイルとデリゲートを適切にインポートし、View Controller の 1 つで appdelegate を共有しました。

#import "AppDelegate.h"ビューコントローラーの.hファイルと[UIApplication sharedApplication].mファイルプロトコルでコメントアウトしたときに、1つのことを観察しました。

私は ARC を使用しており、X-code 4.3.3 で実行しています。この問題を解決するために助けてください。

私のアプリケーションでは、ログインユーザーがviewControllerに移動した後、5つのView Controllers.tabbarビューがviewcontrolllerビューに追加されたタブバーを追加した後、LoginViewControllerがあります。

viewController.m で

[self.view addSubview:tabbars.view];

tabbar には、TodayViewController、setupViewController、statsViewController、guideViewController、helpViewController が含まれています。

TodayViewController にログアウトボタンがあります。ユーザーがログアウトをクリックすると、ビューがloginViewController.forにポップする必要があります。そのため、今日のビューコントローラーでプロトコルを作成し、ViewControllerにインポートしました。

私のView Controller 'timerViewController.h'の1つにインポートAppdelegate.hし、timerViewController.mにviewDidloadに書き込みました

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

今日のViewController.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 に答える