In main

#import "NewClass.m"
#import <stdio.h>
int main() 
{
   // objects in NewClass.
   NewClass *newClassObj1 = [[NewClass alloc] init];
   NewClass *newClassObj2 = [[NewClass alloc] init];

   // current internal count of the objects.
   printf("newClassObj1 retain count is : %d \n ",
   [newClassObj1 retainCount]);
   printf("newClassObj2 retain count is : %d \n\n",
   [newClassObj2 retainCount]);

   // increment counts
   [newClassObj1 retain]; 
   [newClassObj2 retain]; 
   [newClassObj1 retain]; 

   // print counts.
   printf("newClassObj1 retain count is : %d \n ",
   [newClassObj1 retainCount]);
   printf("newClassObj2 retain count is : %d \n\n ",
   [newClassObj2 retainCount]);

   // Decrement counts.
   [newClassObj1 release]; 
   newClassObj2 release]; 
   [newClassObj1 release]; 

   // print counts.
   printf("newClassObj1 retain count is : %d \n ",
   [newClassObj1 retainCount]);
   printf("newClassObj2 retain count is : %d \n ",
   [newClassObj2 retainCount]);

   // now deallocate objects.
   [newClassObj1 release];
   [newClassObj1 release];
    return 0;
}

The Output is: