Я настоятельно рекомендую вам несколько раз прочитать правила управления памятью .Она довольно короткая и не сложная, и как только вы поймете, что в этом документе, вам больше не придется задумываться.
По сути, думайте об этом как о владельце.Когда вы создаете объект с new
, copy
или alloc
или когда вы сохраняете объект, вы владеете этим объектом.Объект не исчезнет, пока у него есть владельцы.Когда вы закончили с объектом, вы release
его, таким образом, отказываетесь от владения.Когда у объекта больше нет владельцев, он может уйти и может быть освобожден.Любой объект, который вы не new
, alloc
, retain
или copy
, не принадлежит вам и не может быть гарантированно оставаться за пределами текущей цепочки вызовов (т. Е. Можно использовать его иливернуть его, но не хранить для дальнейшего использования).