我在实现这篇文章中描述的协议和委托关系时遇到了麻烦: 在视图控制器之间传递数据
在“传回数据”部分下,#6 说:
在我们将 ViewControllerB 推送到导航堆栈之前,我们需要做的最后一件事是告诉 ViewControllerB ViewControllerA 是它的委托。
ViewControllerB *viewControllerB = [[ViewControllerB alloc] initWithNib:@"ViewControllerB" bundle:nil];
viewControllerB.delegate = self;
[[self navigationController] pushViewController:viewControllerB animated:YES];
你能帮我描述一下最后一部分代码的去向吗?我已经尝试过,并多次阅读整篇文章,似乎无法在没有出现几个错误的情况下弄清楚这一点。谢谢你的帮助。
更新:我将代码放在 ViewControllerB(子)等效项的 viewDidLoad 方法中,并收到以下错误:
- 'ViewControllerB' 没有可见的@interface 声明选择器'initWithNib:bundle:'
- 索引表达式无效,因为下标类型“void”不是整数或 Objective-C 指针类型