在iOS應用我寫,我們有一個「添加照片」按鈕,這是很常見的 - 當按下用戶呈現一個動作片成可以接受或選擇一張照片,去相機或照片庫,然後返回到控制器。選擇圖像後,將其調整大小並設置爲原始按鈕的背景。自定義的UIButton /圖像選取器內存愁楚
以幫助清理的東西了,我決定把很多此功能的自定義按鈕,AddPhotoButton
內。當點擊按鈕時,而不是處理操作表和圖像選擇器的控制器,它本身就是。這在某些情況下工作得很好,但在其他情況下,我遇到了很多內存問題。當相機彈出,包含按鈕控制器最終釋放它,所以當的UIImagePickerController試圖調用委託方法(AddPhotoButton
是其代表),該對象不再存在,因爲沒有什麼擁有它。
那麼,什麼我真的問的是 - 什麼是對付這樣的事情的最好方法?我想將照片按鈕功能(顯示操作表,圖像選擇器,然後設置背景圖像)全部捆綁在一起,因此很容易重複使用,但似乎我採用的方法不正確。但是,也許我正確地做了,但應該保留按鈕的方式不同。
有什麼想法?
感謝您的回覆。我最終只是修復了內存管理方面 - 我正在釋放viewDidUnload上的按鈕,這導致了問題。我喜歡第二種選擇,因爲那時我可以在viewDidUnload中釋放UI元素,並且只保留Picker,所以當我有機會時,我可能會切換到該選項。 – 2011-03-23 15:30:22