Sobes.tech
Junior — Middle

როგორ მართავს ARC მეხსიერებას Objective-C-ში პროექტის მშენებლობის დროს?

sobes.tech AI

პასუხი AI-სგან

ARC (Автоматикә Ишоралар Санагыч) Objective-C-дә автоматик хәтер идарәсе механизмы булып тора, ул программа компиляциясе һәм эшләтү вакытында эшли.

Проектны төзү вакытында, компилятор кодны анализлый һәм автоматик рәвештә retain, release һәм autorelease методларын кирәкле урыннарга кертә, бу объектларның тормыш циклын идарә итә. Бу эшләүче программистка хәтерне кул белән идарә итүне язарга кирәклеген бетерә, бу хәтер агып китүләрен һәм хаталарны киметә.

ARC-ның төп принциплары:

  • Һәр объектның бер ишарә санагы бар.
  • Объектны ясау яки билгеләү вакытында, санагы арта (retain).
  • Объектка ишарә кулланылмаса, санагы кими (release).
  • Санагы нульгә җиткәч, объект автомат рәвештә бушатыла.

ARC классик мәгънәдә чүп җыючыс түгел: бушату, ишарә санагы нульгә җиткәндә, шунда ук башкарыла, чүп җыю өчен тукталышларсыз.

Мисал:

// ARC автоматик рәвештә retain/release кертә
MyObject *obj = [[MyObject alloc] init];
// ... объектны куллану
// чыгу белән, объект автомат рәвештә бушатыла

Шулай итеп, ARC хәтерне идарә итүне җиңеләйтә, кодны куркынычсызрак һәм чистарак итә.