Práce s pamětí v objective-c je velmi zásadní (přece jen je to klasické Cčko v novém kabátě). Zvlášť, pokud programujeme pro iPhone, který nepoužívá garbage collector, musíme se o vše postarat sami. Určitě jste se někdy setkali s názvy jako alloc
, init
, release
, dealloc
, retain
, či autorelease
. Z Cčka víme, že pokud nějakou proměnnou vytvoříme pomocí malloc
, nesmíme ji zapomenout zase odalokovat pomocí free
. Obdobně v C++ je to new
a delete
. V Objective-C je to podobné, abychom mohli správně uvolnit již nepotřebnou paměť, musíme vědět, kdo je vlastníkem daného objektu.
V tomto článku si povíme kdy a jak správně uvolňovat objekty, které používáme, představíme si objective-c property a vysvětlíme si různé typy, kterými property pracují s pamětí. Na závěr si povíme něco o automatickém uvolňování paměti (nikoliv o garbage collectoru).