Block ▁my counter ▁= ▁Make Counter ( 5 , ▁ 2 ); ▁ <0x09> printf (" First ▁call : ▁% d \ n ", ▁my counter ()); ▁ <0x09> printf (" Second ▁call : ▁% d \ n ", ▁my counter ()); ▁ <0x09> printf (" Th ird ▁call : ▁% d \ n ", ▁my counter ()); ▁▁ <0x09> /* ▁because ▁it ▁was ▁copied , ▁it ▁must ▁also ▁be ▁released ▁*/ ▁ <0x09> Block _ release ( my counter ); ▁▁ <0x09> return ▁ 0 ; ▁} ▁/* ▁Output : ▁ <0x09> First ▁call : ▁ 5 ▁ <0x09> Second ▁call : ▁ 7 ▁ <0x09> Th ird ▁call : ▁ 9 ▁*/ ▁ ▁Modern ▁Object ive - C ▁Apple ▁has ▁added ▁some ▁additional ▁features ▁to ▁Object ive ▁ 2 . 0 ▁over ▁time . ▁The ▁add itions ▁only ▁apply ▁to ▁the ▁" App le ▁LL VM ▁compiler ", ▁i . e . ▁cl ang ▁front end ▁of ▁the ▁language . ▁Conf using ly , ▁the ▁version ing ▁used ▁by ▁Apple ▁diff ers ▁from ▁that ▁of ▁the ▁LL VM ▁up stream ; ▁refer ▁to ▁ ▁for ▁a ▁translation ▁to ▁open - source ▁LL VM ▁version ▁numbers . ▁ ▁Autom atic ▁Reference ▁Count ing ▁ ▁Autom atic ▁Reference ▁Count ing ▁( AR C ) ▁is ▁a ▁compile - time ▁feature ▁that ▁elimin ates ▁the ▁need ▁for ▁program mers ▁to ▁manually ▁manage ▁retain ▁counts ▁using ▁retain ▁and ▁release . ▁ ▁Un like ▁garbage ▁collection , ▁which ▁occurs ▁at ▁run ▁time , ▁AR C ▁elimin