Я думаю, что было бы лучше, если бы вы создали протокол делегирования для своего пользовательского объекта, а затем владелец этого объекта был бы его делегатом.В методе делегата представления предупреждений вашего класса отправьте пользовательскому делегату сообщение, чтобы он мог обработать освобождение вашего пользовательского объекта.
Если объект автоматически высвобождается в вызывающем коде или вызывающий код пытается вручную освободить сам ваш объектпопытка самостоятельного освобождения может привести к неожиданному поведению или даже к аварийному завершению.