场景:如何在返回时将数据从一个View Controller传递到Storyboard中的另一个?
- 故事板用的UINavigationController作为初始控制器。
- MainVC(导航控制器的root vc)需要用户在地图上选择一个位置。
- MainVC推送包含MapKit映射的VC,并将其自身添加为用户选择位置时MapVC发出的通知的侦听器。
- MapKit是一个内存猪,我们都知道。 iOS给我一个内存警告,我做所有需要做的事情,然后iOS释放它可以释放的所有东西,包括MainVC。
- MapVC发出通知,但没有人收听。用户选择的位置丢失,就像雨中的泪水一样。
鉴于此,回到MainVC时传递位置数据的可靠方法是什么?我甚至想到把它写成〜/ tmp(这是我在处理像图像这样的大量数据时要做的事情),但这看起来像是浪费机器。没有一个我可以挂钩的机制,就像导航控制器返回到前一个VC时触发的事件一样?就像,有了像prepareForSegue一样的东西:但在相反的方向将是很好的。
编辑我试着去参加代表团,但看起来我的代表被发布了。我坚持要写〜/ tmp吗?
代表团是要走的路 - 这听起来像你有一个问题,您的委托对象被释放? – petert 2012-02-20 12:23:27
我只能补充说,如果我在MainVC(现在是MapVC.delegate)中注释掉[super didReceiveMemoryWarning],它不会被取消分配。尽管如此,我认为这不符合要求。 – Morpheu5 2012-02-20 14:31:56