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 回答