▁* ▁the ▁recip ient ▁ ▁* ▁( if ▁the ▁recip ient ▁respond s ▁to ▁them , ▁as ▁written ▁in ▁the ▁For ward er ) ▁ ▁*/ ▁ ▁[ forward er ▁hello ]; ▁▁ ▁[ reci p ient ▁release ]; ▁ ▁[ forward er ▁release ]; ▁▁ ▁return ▁ 0 ; ▁} ▁ ▁Notes ▁When ▁compiled ▁using ▁gcc , ▁the ▁compiler ▁reports : ▁▁ ▁$ ▁gcc ▁- x ▁objective - c ▁- W no - import ▁For ward er . m ▁Re cip ient . m ▁main . m ▁- lob j c ▁ ▁main . m : ▁In ▁function ▁` main ': ▁ ▁main . m : 1 2 : ▁warning : ▁` For ward er ' ▁does ▁not ▁respond ▁to ▁` hello ' ▁ ▁$ ▁ ▁The ▁compiler ▁is ▁reporting ▁the ▁point ▁made ▁earlier , ▁that ▁ ▁does ▁not ▁respond ▁to ▁hello ▁messages . ▁In ▁this ▁circumst ance , ▁it ▁is ▁safe ▁to ▁ignore ▁the ▁warning ▁since ▁forward ing ▁was ▁implemented . ▁Running ▁the ▁program ▁produces ▁this ▁output : ▁ ▁$ ▁./ a . out ▁ ▁Re cip ient ▁says ▁hello ! ▁ ▁C ategories ▁During ▁the ▁design ▁of ▁Object ive - C , ▁one ▁of ▁the ▁main ▁concerns ▁was ▁the ▁maintain ability ▁of ▁large ▁code ▁bases . ▁Exper ience ▁from ▁the ▁struct ured ▁programming ▁world ▁had ▁shown ▁that ▁one ▁of ▁the ▁main ▁ways ▁to ▁improve ▁code ▁was ▁to ▁break ▁it ▁down ▁into ▁smaller ▁pieces . ▁Object ive - C ▁borrow ed ▁and ▁extended ▁the ▁concept ▁of ▁categories ▁from ▁Small t alk