Assign creates a reference from one object to another without increasing the source’s retain count. Retain creates a reference from one object to another and increases the retain count of the source object.
if (obj1 != ob2) {[obj1 release];
obj1 = nil;
obj1 = obj2; }
Retain creates a reference from one object to another and increases the retain count of the source object.
if (obj1 != obj2) {[obj1 release];
obj1 = nil;
obj1 = [obj2 retain]; }