場景:如何在返回時將數據從一個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