![](/img/trans.png)
[英]EXC_BAD_ACCESS when trying to init UIActionSheet in Swift
[英]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.