NSStringを引数にもつセッタのproperty定義で retainとcopyで議論がありますが、Google Objective-Cスタイルガイドでは copyを推奨しているようです。 セッタではNSStringをコピーする(Google Objectieve-Cスタイルガイド 日本語訳) @interface Foo : NSObject { @private NSString *foo_; } @property (nonatomic, copy) NSString *foo; @end @ implementation Foo @synthesize foo = foo_; @end引数に対して可変なNSMutableStringを受ける可能性があり、知らないうちに参照元の値が変わることを防ぐ目的で、安全を期してcopyにするという理由のようです。 前提の背景として特殊的にNS