Используя метод NSObject -(id)awakeAfterUsingCoder:(NSCoder *)decoder
в качестве примера, в документации сказано:
Позволяет объекту после декодирования заменить другой объект для себя. Например, объект, представляющий шрифт, может после декодируется, освобождает себя и возвращает существующий объект, имеющий то же описание шрифта, что и само. Таким образом, избыточные объекты могут быть устранено.
Обычно вы должны сделать
[self release];
return substitutedObject;
С ARC вы должны пропустить эту строку. Не будет ли это утечки? Или я должен просто доверять объекту NSCoder, чтобы освободить исходный объект для меня? Если да, то почему вы должны явно освобождать себя с кодом, отличным от -ARC?
Я не думаю, что self = nil
является правильным в свете того, что документация компилятора говорит о себе:http://clang.llvm.org/docs/AutomaticReferenceCounting.html#misc.self