Я новичок в ObjC и iPhone.iPhone alloc и release
Я загрузил пример совместного использования данных между несколькими видами. Основной подход - создать объект модели данных в базовом UIApplication и получить/установить данные из/на него. So in the init method i видел следующий код:
- (id) init;
{
self.theAppDataObject = [[ExampleAppDataObject alloc] init];
[theAppDataObject release];
return [super init];
}
И после этого, используя делегат, мы можем получить доступ к этому объекту.
id theDelegate = (id) [UIApplication sharedApplication].delegate;
ExampleAppDataObject* theDataObject;
theDataObject = (ExampleAppDataObject*) theDelegate.theAppDataObject;
Итак, мой вопрос в первом примере кода. Почему нам нужно выделить память для объекта theAppDataObject, а сразу после этого - освободить объект? Почему бы нам не получить нуль при доступе к этому объекту позже?
10x
Каков источник этого примера? Это не соответствует официальным рекомендациям для методов init (т.е. первая строка должна иметь значение 'if (! (Self = [super init])) return nil;' – jv42