簡體   English   中英

加載MKMapView時崩潰

[英]Crash when loading MKMapView

加載MKMapView時發生MKMapView崩潰。 發生的模式是當我在一個視圖中打開ABPeoplePickerNavigationController時,這又觸發了UINavigationController委托方法。

保存/不保存后,我轉到另一個視圖-可以正常工作。 下一個視圖-工作正常。 但是,當我使用MKMapView進入視圖時,它崩潰了。

沒有其他觀點有任何問題。 只有加載MKMapView的視圖MKMapView崩潰,並顯示以下日志

*** -[UINavigationBar barStyle]: message sent to deallocated instance

我已經在代碼中注釋了加載mapview的部分,然后工作正常。 因此,似乎在加載mapview時,我的導航欄被釋放了。 但是我無法理解的是,應用程序中的其他視圖沒有任何問題,只有帶有mapview的視圖崩潰了。 我嘗試了不同的測試模式,並確保其他所有視圖都沒有問題。

該應用程序不會在模擬器中崩潰。 它僅在設備上崩潰。 為什么僅在加載mapview的視圖中而不在其他視圖中出現此問題?

我嘗試進行分析以分析我的問題。 這是我發現的,但沒有太大幫助。

簡介->僵屍

我曾經也有過一樣的問題。

這是ABPeoplePickerNavigationController上的泄漏問題。 您必須確保它不會被釋放。

我聲明它是一個強大的屬性,以確保它不會被釋放,並且可以正常工作:)

嗯,對此還有一個更簡單的解決方案。 實際的問題是使用ABPeoplePickerNavigationController作為單例對象,將其委托設置為視圖控制器,然后關閉視圖控制器。 因此,在我的情況下,有效的解決方案是:

  • (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {peoplePicker.peoplePickerDelegate = nil; //在解雇自己之前清除委托[self.navigationController dismissViewControllerAnimated:YEScomplete:nil]; }

  • (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker應該繼續進行SelectingPerson:(ABRecordRef)person屬性:(ABPropertyID)屬性標識符:(ABMultiValueIdentifier)identifier {[self displayPerson:person]; peoplePicker.peoplePickerDelegate = nil; //在解雇自己之前清除委托[self.navigationController dismissViewControllerAnimated:YEScomplete:nil]; 返回否; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM