Вам не принадлежит объект delegate
, созданный в этом фрагменте. Вы не создали его с alloc
, new
или copy
. Вы не сохранили это. Таким образом, вы не обязаны выпускать его.
Что касается помещения объекта в делегат Application только для того, чтобы иметь возможность получить к нему доступ из других частей вашего кода - это плохой IMO-дизайн ООП.
Отредактировано, чтобы добавить
Полагаю, мне лучше привести пример
Предположим, у вас есть класс MyClass
, для которого вы хотите создать объект, который вы можете передавать.
Вы создаете его в делегате приложения, который, кажется, вы уже делаете:
MyObject *myObject = [[MyObject alloc] init];
Затем вы создаете другой контроллер представления - что вы обычно делаете, за исключением того, что этот контроллер представления имеет свойство:
@property(retain) MyObject *object;
И затем вы устанавливаете это свойство при создании контроллера представления:
YourViewController *vc = [[YourViewController alloc] init];
vc.object = myObject;
И, если вы передадите этот объект другим контроллерам представления, как вам требуется.