0

以下の私の質問に誰かが光を当ててくれることを願っています。

親ビューでデリゲートを宣言すると、タイプ viewcontroller のオブジェクトにプロパティ デリゲートが見つかりませんというエラーが発生します。

委任エラー

親 .h ファイル内の関連コードは次のとおりです。

@protocol ModalViewDelegate 
- (void)didReceiveFrequencyMessage:(NSString *)message;
@end

@interface jhsManageRemindersViewController : UIViewController<UIAlertViewDelegate, UINavigationControllerDelegate, ModalViewDelegate>

ここで子ビューを呼び出します。

    jhsScheduleViewController *jhsScheduleController = [[jhsScheduleViewController alloc]
                                              initWithNibName:@"jhsScheduleViewControllerr" bundle:nil];
    
jhsScheduleController.delegate = self;
// Create the navigation controller and present it modally.
UINavigationController *navigationController = [[UINavigationController alloc]
                                                initWithRootViewController:jhsScheduleController];
navigationController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:navigationController animated:YES];

これが私の子の .h ファイルの一部です

@protocol ModalViewDelegate ;

@interface jhsScheduleViewController : UIViewController {
    //id<ModalViewDelegate> delegate;
//       __unsafe_unretained id <ModalViewDelegate> _delegate;
    __weak id <ModalViewDelegate> delegate;
    NSMutableString *message;    
}

@property ( weak) id<ModalViewDelegate> delegate;
//@property (nonatomic, weak) id<ModalViewDelegate> delegate;

@property (nonatomic, retain) NSMutableString *message;

そして最後に、これが私の .m の使い方です

@synthesize delegate;
//@synthesize delegate = _delegate;

Stackoverflow の質問とこの推奨されるブログ投稿に基づいて、さまざまなソリューションを表示して試しました。参考までに、試みた解決策のいくつかをコメントアウトされたコードに含めました。

iOS4 アプリのコードから始めましたが、エラーが発生します。脚注として、これは TabBarController と NavigationController を備えたアプリです

デリゲートエラーを解決できるように、これを修正する方法を教えてもらえますか?

ご協力ありがとうございました!

4

1 に答える 1

0

さて、何が問題だったのかわかりません。しかし、最後の手段として、すべてのファイルを保存してからビルドしようとしましたが、Xcode は引き続きエラーを報告しましたが、うまくいきました。

実はinitWithNibNameにエラーがあったのですが、そこまでは問題なく動いていて、タイプミスを直したところ直りました。繰り返しますが、問題が何であったかはわかりませんが、順調に進んでいるようです。

于 2012-11-22T18:55:43.187 に答える