Using Xcode 4.2 and ARC, I notice that the auto-generated code for an NSManagedObject still reads like this for properties:
NSManagedObject
@property (nonatomic
To answer all three questions in one: retain and strong are synonymous with each other, so both are correct. The documentation states
retain
strong
retain implies __strong ownership strong implies __strong ownership
retain implies __strong ownership
__strong
strong implies __strong ownership