簡體   English   中英

解雇UIActionSheet會產生EXC_BAD_ACCESS

[英]Dismissing UIActionSheet gives EXC_BAD_ACCESS

我有一個UITableView嵌套在UITabBarController中的應用程序,我有一個方法,當它從UIActionSheetDelegate方法調用clickedButtonAtIndex時給我一個EXC_BAD_ACCESS:

(有時)提出問題的方法稱為updateTaskArray。 基本上,它執行一個Core Data fetch來配置一個NSMutableArray“taskArray”,它是viewController的一個屬性(tableView委托用來配置它的單元格)然后它的最后一行是

[self.tableView reloadData];

問題是,它在大多數情況下都能正常工作,但只有在從UIActionSheetDelegate調用它時才會出錯。 當我用NSZombieEnabled運行它時,它告訴我

*** -[UITabBarButton setAlpha:]: message sent to deallocated instance 0x5c2e760

並且使用斷點,在UIActionView委托方法(以及其中的updateTaskArray)完成之后,它不會提供EXC_BAD_ACCESS。 UIActionSheet提供:

[actionSheet showFromTabBar:self.tabBarController.tabBar];

所以我想知道這是否意味着它正在解決導致問題的actionSheet ...但如果我不從委托調用updateTaskArray它也不會給出任何錯誤...

我不確定下一步會是什么好事,因為[UITabBarButton setAlpha:]不是我稱之為“我自己”的方法,並且在我實際“編寫”的代碼已經運行之后似乎發生了錯誤 - 關於從哪里開始接近這個的任何建議?

我變了

[actionSheet showFromTabBar:self.tabBarController.tabBar];

[actionSheet showFromToolbar:self.navigationController.toolbar];

它現在工作正常。 tabBarController是導航控制器的父級,我估計它不喜歡我走上一級。

查看您的發布聲明。 你不應該發布UITabBarButton,或者可能是整個標簽欄。 回顧iOS的內存管理原則。

暫無
暫無

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

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