Я создал пользовательский UIView
с именем CustomMessage
, который я использую в своей программе. Внешний вид CustomMessage
анимирован, поэтому я написал метод в классе CustomMessage
с именем showInView:
для отображения вида. Например, скажем, что я хочу показать CustomMessage
представление в конкретном контроллере представления - я бы использовал следующий код:
CustomMessage *myCustomMessage = [[CustomMessage alloc] initWithMessage:@"Hello"];
[myCustomMessage showInView:self.view];
Как видите, это очень похоже на то, как UIActionSheet
создается и представляется.
Однако у меня проблемы с управлением памятью. Если я поставлю следующую строку кода, сразу после двух строк выше:
[myCustomMessage release];
тогда (как и ожидалось) программа завершится с ошибкой message sent to deallocated instance
.
Я не уверен, что мне нужно делать в моем классе CustomMessage, чтобы я мог освободить объект сразу после вызова метода showInView:
, чтобы не допустить утечки памяти. Очевидно, что это можно сделать, поскольку именно так работает UIActionSheet
(но я просто не могу понять, как реализовать нечто подобное - я не могу понять, как объект CustomMessage
может быть сохранен каким-то другим объект, предположительно self.view
(в примере выше), который отображает CustomMessage
, чтобы избежать полного освобождения объекта, пока он еще используется).
Все остальное работает отлично, за исключением этого небольшого аспекта, поэтому любая помощь будет принята с благодарностью:)