我希望有人可以在下面阐明我的问题。
当我在父视图中声明委托时,我在 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 的应用程序
有人可以告诉我如何解决这个问题,以便解决委托错误吗?
谢谢您的帮助!