Язык не будет сохранять аргументы автоматически.Тем не менее, код, который подчиняется правилам, сохранит или скопирует все, что ему нужно, после того как выполнение выйдет из его области.
Другими словами:
id object = [[SomeClass alloc] init];
[otherObject doSomethingWithObject:object];
[object release];
Этот код всегда должен быть в порядкепотому что если doSomethingWithObject:
необходимо сохранить аргумент, он отправит retain
, а если нет, то не будет.