自分でreleaseか、autoreleaseか。
所有権のあるオブジェクトは自分でreleaseしなくてはいけない。
どうやって所有権を持つか?
以下のメソッドで初期化したオブジェクトは、自分が所有権を持つ。
- alloc
- new
- copy
- mutableCopy
For example
[[NSmutableArray alloc] init];
allocしているので、自分でreleaseしなくてはいけない。
[[NSmutableArray alloc] initWithObjects: __, __, nil];
allocしているので、自分でreleaseしなくてはいけない。
[NSmutableArray arrayWithObjects: __, __, nil];
objectが勝手にreleaseしてくれる。
注意
所有権を持たずに生成したオブジェクトもretainメソッドで所有権を持つ事ができる。
所有権を持ったオブジェクトもautoreleaseで所有権を放棄する事ができる。