我希望有人可以在下面解释我的问题。
当我在父视图中声明委托时,我在类型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问题查看并尝试了各种解决方案,并建议blogpost。我已经在注释掉的代码中包含了一些我尝试过的解决方案,就像一个FYI。
我开始使用iOS4应用程序中的代码,但会产生错误。作为脚注,这是一个带有TabBarController和NavigationController
的应用程序有人可以告诉我如何解决这个问题,以便解决委托错误吗?
感谢您的帮助!
答案 0 :(得分:0)
嗯,我不确定问题是什么。但作为最后的手段,我保存了每个文件,然后尝试构建它,Xcode仍然报告错误,这是有效的。
实际上,initWithNibName中有一个错误,但它运行正常,直到达到那一点,并纠正错字修正了。再说一遍,我不确定问题是什么,但我似乎正在路上。