2011-11-26 52 views
1

我有一個應用程序,它是具有在左邊和右邊的詳細視圖的主視圖SplitViewController。其中一個視圖(分支查找器)是一個地圖視圖,用於將一系列註解加載到地圖。應用崩潰如果AddAnnotations未完成

如果我讓註釋切換到任何其它視圖之前加載(加載註解採取通吃1秒),則一切都很好。

[BranchFinder_iPad respondsToSelector::]:然而,如果用戶快速關斷科搜索視圖,而被裝載的註釋,則應用將用以下通知崩潰消息發送到釋放的實例0x807d230

現在,我的想法是,解除分配的實例將引用數組(在視圖的標題中聲明),該數組包含所有釋放的註釋,並在用戶離開BranchFinder_iPad視圖時設置爲nil。這是傳遞給addAnnotations方法的數組。

[self.mapView addAnnotations:branchSites]; 

有其他人遇到了一個問題,即留在添加分配視圖,中途如果用戶移動到另一個視圖發生崩潰。

只是爲了澄清:

  • 如果我等待註釋加載,切換到其他視圖不會造成問題。
  • 我有一個自定義註解的觀點,但我認爲剝奪了我的代碼(從混合消除它)。這樣做並沒有改變任何東西。
  • 我在其他地方尋找在這個問題上的幫助,但很多關於地圖視圖的視圖教程僅是單一視圖,所以這個問題一直沒有出現。
  • 我已經找到了一個隱約類似的問題@如下:mapkit addAnnotations crashes
  • 最後,我剛纔做了躍遷到X-代碼4.我認爲我的一些問題,只是因爲我再學習一些東西我應該知道。

問候, 彌敦道一

PS:我想將圖像附加到這一點,但我有麻煩。我沒有名譽點在本地做,我的工作場所不允許我訪問任何圖像託管門戶。我會盡力在今天晚些時候添加一張圖片。

回答

3

嘿任何人誰讀這一點。在我的應用程序的的MKMapView,我必須設置委託給無我的視圖中的重新分配程序的一部分 -

我基本上在這裏進行了新手的錯誤。蘋果文檔使下面的文檔中的這個獎:

http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapViewDelegate_Protocol/MKMapViewDelegate/MKMapViewDelegate.html

對於相關板塊:

釋放您已設置了委託的的MKMapView對象之前,記得設置該對象的將屬性委託給nil。一個可以做到這一點的地方就是在你處理地圖視圖的dealloc方法中。

沒有這只是導致一個問題,如果我切換到另一個視圖,並且如果MKMapView仍然被執行代碼引用,如addAnnotations例程。