私はiPhoneアプリを開発しています。私はObjective-Cのプロパティ
@property NSArray *listData;
として宣言した場合、私は疑問に思う
[listData release];
:、のようなものを置く必要があり、実装ファイルで次にdeallocメソッドを
@property (nonatomic, retain) NSArray *listData;
:私は以下のようなプロパティを宣言についての本から読んで
私はそれを解放する必要がありますか?それは私のためのコードの1行を保存します。
を参照してください、私は+のリリースを保持するために固執すると思います。私は、コンパイラがプロパティの保持/割り当てビットを指定しないことについてあなたが不平を言うかもしれないと思う。そうでない場合でも、ほとんどの場合、「割り当て」はあなたが望むものではありません。 –
ええ、コンパイラが警告を出す、指定されていない何か、割り当てが使用されます。 OK、プロパティの場合はretain + releaseを使用します。しかし、私的変数については、私はそれらのプロパティを作成しません。プライベート変数を解放する必要はありますか? TIA – vincent
いくつかの読書の後、私は今cm5wを理解しています: 1. NSStringのコピーが使用されます* 2.他のオブジェクトの場合は、保持が使用されます 3.両方がdeallocメソッドで解放される必要があります 4.プリミティブデータ型の場合、assign使用すると、解放する必要はありません – vincent