我有几个已经在我的代码中工作的代表(不问如何使用它们)。我无法从父级ViewController(情节提要中的故事板中的More Information
属于类InputViewController
)获取数据到子级TableViewController(AddressTableViewController
),因为无法从此类引用父级控制器。
TableViewControllers和 map 都在InputViewController
中。我想将数据(从locationManager反向定位的地址)从 map 发送到AddressTableViewController
,以填写单元格文本。 TableViewControllers通过对象(在对象库中选择)绑定到InputViewController
(主控制器)。
代码:https://gist.github.com/damionjn/c148a07a39b5c27e7f78
您会在这里InputViewController
的底部看到我正在尝试使用该协议:
https://gist.github.com/damionjn/c148a07a39b5c27e7f78#file-gistfile1-swift-L125
但是由于无法访问InputViewController
而无法使用它,因此mapAddressDataSource
始终是nil
。我尝试在AddressTableViewController
的init()
中创建它的实例,并创建一个没有任何运气的IBOutlet。
最佳答案
我无法从父ViewController(情节提要中的更多信息属于InputInputController类)将数据获取到子TableViewController(AddressTableViewController)时遇到问题,因为无法从此类引用父控制器。
为什么不?
在AddressTableViewController
上为您的InputViewController
创建一个属性,但是将其创建为弱属性,您可以访问它而不会引起任何问题(保留周期)。
例如
@property (weak, nonatomic) InputViewController *parentInputViewcontroller;
然后,您应该能够从tableView子类中访问
self.parentInputViewController
上的任何数据。关于ios - 通过对象将数据从父级ViewController传递到子级UITableViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30496693/