2012-10-05 70 views
0

我已經在故事板中創建了一些UITableViews,併爲它們中的每一個創建了自定義類。我拖放tableview對象到我的主視圖控制器來訪問它們。在UITableView自定義類中,我在「numberOfSectionsInTableView」委託方法中分配了一些類級別的對象。我想釋放dealloc方法中numberOfSectionsInTableView方法中分配的所有類級對象。但是即使我移動到其他視圖控制器,dealloc也不會被調用。有沒有人有任何想法,爲什麼這不被稱爲,或者我可以釋放這些對象的地方。 (ARC關閉)UITableView的Dealloc不叫

+0

可能複製http://stackoverflow.com/questions/9219030/ dealloc-not-being-being-called-on-arc-app – alexandresoli

+0

什麼是「班級對象」?並且你正試圖釋放它們的'-dealloc'? – Caleb

+0

我打算說班級變數。在UITableView自定義類的dealloc即將試用釋放它們。 – saikamesh

回答

1

嘗試找到關於UIViewController生命週期的內容。 嘗試在viewDidUnload方法中釋放對象,並在那裏放置斷點。 此峯應該對您有用: enter image description here

1

這裏有一些事情可以做:

  1. 轉ARC上?
  2. 您確定無法訪問?做出NSLog(@"ACCESSED");在你的dealloc方法
  3. 使用viewDidUnload方法來釋放的東西
  4. 直接在他們的方法釋放他們,如果再沒有需要他們
+0

ARC的+1 - 這裏是正確的解決方案。 – Caleb

+0

您可以打開ARC並更改構建標誌,如果您喜歡,可以禁用ARC的某些特定標題。點擊您的項目 - >目標 - >構建階段 - >「編譯源代碼」,然後雙擊一個.m文件並輸入「-fno-objc-arc」,這將爲特定文件啓用ARC) – xCoder