Предположим, у меня есть этот код:
-(SomeOtherType*) getMyObject {
SomeType someObject = [[SomeType alloc] init];
// ... later on
SomeOtherType toReturn = [[[someObject interiorObject] retain] autorelease];
[someObject release];
return toReturn;
}
Объект toReturn
, правильно ли я его обрабатываю? Я хочу доставить его как autoreleased
объект, но я хочу удалить someObject
. Это шаблон для передачи права собственности? Я обдумал это в своей голове и на бумаге, и, кажется, все в порядке, но я бы предпочел, чтобы кто-то более образованный сообщил мне.
Редактировать Это очень надуманный пример, просто для иллюстрации проблемы. someObject
живет во многих вызовах методов, и, в конце концов, я хочу «выкинуть из себя кишки». Это НЕ Ежедневный пример WTF. Пожалуйста, не высмеивайте меня. :)