0

私はNSStringプロパティを持っています:

.h ファイル

@property (nonatomic, retain) NSString *str;

.m ファイル

@synthesize str;

/retain countstrないの は何ですか? メソッドを使用できますか?allocinit[str release]

4

5 に答える 5

2

まだ割り当てられていないオブジェクトを解放することはできません。

可能であれば ARC を使用し、過去 2 年間の Objective-C への変更について読んでください: .h で宣言された変数を .m で合成する必要がなくなりました

于 2013-05-09T11:17:17.230 に答える
2

はい、このオブジェクトを解放できます。alloc, copy, new, retainこれらのメッセージのいずれかをオブジェクトに送信するたびに。その保持カウントが 1 増加します。そして、あなたはそのオブジェクトの所有者になります。そのため、オブジェクトを解放して所有権を放棄する必要があります。

ARC を使用する場合は、コンパイラが代わりにそれを行います。それが役に立てば幸い。

于 2013-05-09T11:23:35.590 に答える
2

まだrelease割り当てられていないオブジェクトは使用しないでください。しかし、それを行うと、オブジェクトにメッセージを送信していることになりnilます。へのメッセージは何もせず、、、、またはnilを返すため、これは安全です。nilNilNULL00.0

于 2013-05-09T11:23:07.603 に答える