Use copy for the objects implementing NSCopying protocol. For example NSMutableString. If you use retain and change the NSMutableString, the change is also reflected in the property marked with retain.
strong is used mostly for objects if you want to retain that object.
