void ) set My Value :( id < NS Copy ing >) foo ; ▁In ▁the ▁above ▁statement , ▁foo ▁may ▁be ▁an ▁instance ▁of ▁any ▁class ▁that ▁con forms ▁to ▁the ▁NS Copy ing ▁protocol . ▁ ▁- ▁( void ) set My Value :( NS Number ▁*) foo ; ▁In ▁the ▁above ▁statement , ▁foo ▁must ▁be ▁an ▁instance ▁of ▁the ▁NS Number ▁class . ▁ ▁- ▁( void ) set My Value :( NS Number < NS Copy ing > ▁*) foo ; ▁In ▁the ▁above ▁statement , ▁foo ▁must ▁be ▁an ▁instance ▁of ▁the ▁NS Number ▁class , ▁and ▁it ▁must ▁conform ▁to ▁the ▁NS Copy ing ▁protocol . ▁ ▁In ▁Object ive - C , ▁all ▁objects ▁are ▁represented ▁as ▁pointers , ▁and ▁static ▁initialization ▁is ▁not ▁allowed . ▁The ▁simplest ▁object ▁is ▁the ▁type ▁that ▁ ▁() ▁points ▁to , ▁which ▁only ▁has ▁an ▁is a ▁pointer ▁describing ▁its ▁class . ▁Other ▁types ▁from ▁C , ▁like ▁values ▁and ▁struct s , ▁are ▁un changed ▁because ▁they ▁are ▁not ▁part ▁of ▁the ▁object ▁system . ▁This ▁decision ▁diff ers ▁from ▁the ▁C ++ ▁object ▁model , ▁where ▁struct s ▁and ▁classes ▁are ▁un ited . ▁ ▁For ward ing ▁Object ive - C ▁perm its ▁the ▁sending ▁of ▁a ▁message ▁to ▁an ▁object ▁that ▁may ▁not ▁respond . ▁R ather ▁than ▁respond ing ▁or ▁simply ▁dro pping ▁the ▁message , ▁an ▁object ▁can ▁forward ▁the ▁message ▁to ▁an ▁object ▁that ▁can ▁respond . ▁For ward ing ▁can