我有几个代表已经在我的代码中工作(不询问如何使用它们)。我在将父ViewController(故事板中的More Information
属于类InputViewController
)中的数据传递给子TableViewController(AddressTableViewController
)时遇到问题,因为我无法引用父级这个类的控制器。
TableViewControllers和地图都在InputViewController
中。我想将数据(来自locationManager的反向地理定位地址)从地图发送到AddressTableViewController
以填写单元格文本。 TableViewControllers通过Object(在对象库中选择)绑定到InputViewController
(主控制器)。
代码:https://gist.github.com/damionjn/c148a07a39b5c27e7f78
你会看到我正在尝试使用InputViewController
底部的协议:
https://gist.github.com/damionjn/c148a07a39b5c27e7f78#file-gistfile1-swift-L125
但我无法使用它,因为我无法访问InputViewController
,因此mapAddressDataSource
始终为nil
。我尝试在AddressTableViewController
的{{1}}中创建一个实例并创建一个没有任何运气的IBOutlet。
答案 0 :(得分:1)
我遇到问题从父ViewController(故事板中的更多信息属于类InputViewController)获取数据到子TableViewController(AddressTableViewController),因为我无法引用父控制器来自这堂课。
为什么不呢?
为您的AddressTableViewController
在InputViewController
上创建一个属性,但将其设置为弱,您可以访问它而不会造成任何问题(保留周期)。
e.g。
@property (weak, nonatomic) InputViewController *parentInputViewcontroller;
然后,您应该能够从tableView子类中访问self.parentInputViewController
上的任何数据。