私は入力を使用してメソッドを保持する必要がありますか?私は引数で受け取ったオブジェクトを保持する必要がありますか?
- (void) exampleMethod: (NSString *)input {
self.hey = [input retain];
}
私は何度もinput
以上を使用する場合は?
私は入力を使用してメソッドを保持する必要がありますか?私は引数で受け取ったオブジェクトを保持する必要がありますか?
- (void) exampleMethod: (NSString *)input {
self.hey = [input retain];
}
私は何度もinput
以上を使用する場合は?
Memory Management Rulesをお読みください。 hey
がretain
またはcopy
属性を設定したプロパティの場合は、self.hey = input
を実行するだけで-retain
を呼び出す必要はありません。
メソッド中に使用するだけのパラメータを保持する必要はありません。あなたがあなたの事例にあるように、それをもっと長くしておくつもりなら、ほとんどの場合、あなたはすべきです。
しかし、プロパティ(これもここにあるようです)を使用している場合は、セッターを呼び出すときに明示的にretainを呼び出さず、プロパティセッター自体のメモリを管理する必要があります。
この場合、.heyプロパティへの代入は、アクセサメソッドでの指定となります。
あなたはアクセサメソッドを使用せずに文字列を継続して使用する場合は、あなたがそれを利用できる持っている必要があると文字列と範囲を維持する必要があるかもしれません。