▁NSLog (@" Person ▁has ▁a ▁property : ▁'% s ' ", ▁property Name ); ▁} ▁ ▁Non - f rag ile ▁instance ▁variables ▁Object ive - C ▁ 2 . 0 ▁provides ▁non - f rag ile ▁instance ▁variables ▁where ▁supported ▁by ▁the ▁runtime ▁( i . e . ▁when ▁building ▁code ▁for ▁ 6 4 - bit ▁mac OS , ▁and ▁all ▁iOS ). ▁Under ▁the ▁modern ▁runtime , ▁an ▁extra ▁layer ▁of ▁ind irection ▁is ▁added ▁to ▁instance ▁variable ▁access , ▁allowing ▁the ▁dynamic ▁linker ▁to ▁adjust ▁instance ▁layout ▁at ▁runtime . ▁This ▁feature ▁allows ▁for ▁two ▁important ▁improvements ▁to ▁Object ive - C ▁code : ▁ ▁It ▁elimin ates ▁the ▁frag ile ▁binary ▁interface ▁problem ; ▁super classes ▁can ▁change ▁sizes ▁without ▁affect ing ▁binary ▁compatibility . ▁ ▁It ▁allows ▁instance ▁variables ▁that ▁provide ▁the ▁backing ▁for ▁properties ▁to ▁be ▁synth es ized ▁at ▁runtime ▁without ▁them ▁being ▁declared ▁in ▁the ▁class ' s ▁interface . ▁ ▁Fast ▁enumer ation ▁Instead ▁of ▁using ▁an ▁N SE numer ator ▁object ▁or ▁indices ▁to ▁iterate ▁through ▁a ▁collection , ▁Object ive - C ▁ 2 . 0 ▁offers ▁the ▁fast ▁enumer ation ▁syntax . ▁In ▁Object ive - C ▁ 2 . 0 , ▁the ▁following ▁loops ▁are ▁function ally ▁equivalent , ▁but ▁have ▁different ▁performance ▁tra its . ▁ ▁// ▁Using ▁N SE numer ator ▁N SE numer ator ▁* en umer ator ▁= ▁[ the Pe ople ▁object E numer ator ]; ▁Person ▁* p ; ▁ ▁while ▁(( p