我創建了一個自定義UIView
,我在整個程序中都使用了這個自定義CustomMessage
。 CustomMessage
的外觀是動畫效果,所以我在CustomMessage
類中寫了一個方法,名爲showInView:
以顯示視圖。例如,說我希望顯示在特定視圖控制器CustomMessage
觀點 - 我會用下面的代碼:showInView:自定義UIView的方法
CustomMessage *myCustomMessage = [[CustomMessage alloc] initWithMessage:@"Hello"];
[myCustomMessage showInView:self.view];
正如你所看到的,這是非常相似,如何創建並提出了UIActionSheet
。
但是,我遇到了內存管理問題。如果我把下面的代碼行中的兩行以上直接以下:
[myCustomMessage release];
然後(如預期)的程序將與message sent to deallocated instance
錯誤崩潰。
我不確定我需要在我的CustomMessage類中做什麼,這樣我可以在調用showInView:
方法後直接釋放對象,以便不會發生內存泄漏。顯然這是可以做到的,因爲這就是UIActionSheet
的工作原理(但我無法理解我如何實現類似的東西 - 我無法弄清楚一些其他對象如何保留對象,大概是self.view
(在上面的示例中)顯示CustomMessage
,以避免它在仍處於使用狀態時完全釋放對象)。
其他的一切完美的作品,除了這個小的方面,所以任何幫助,將不勝感激:)
此方法是一種很好的MVC模式設計嗎?該觀點正在控制自己,這將違反MVC模式。我錯了嗎?只是想明白。謝謝 – 2016-05-25 11:25:26