Eu uso reter ou copiar no meu singleton?

Li em algum lugar que, com o NSString em um objeto, é preciso usar cópia em vez de reter. Alguém pode explicar se isso está correto e por quê?

Por exemplo, tenho a seguinte declaração para meu singleton:

#import <foundation/Foundation.h>
@class FaxRecipient;

@interface MyManager : NSObject {
    NSString *subject;
    NSString *reference;
    NSString *coverSheet;
    FaxRecipient *faxRecipient;

}

@property (nonatomic, retain) NSString *test1;
@property (nonatomic, retain) NSString *test2;
@property (nonatomic, retain) NSString *test3;
@property (nonatomic,retain) FaxRecipient *faxRecipient;



+ (id)sharedManager;

@end

questionAnswers(5)

yourAnswerToTheQuestion