コードに何も起こりません。私はARC(自動参照カウント)を使用しているので、ポインタをnilに設定することで "解放"していると仮定します。
実際にどのように動作するかは、メモリにNSStringオブジェクトが割り当てられていると仮定して作成し、それにポインタを割り当てます。
これでポインタがそのオブジェクトを指していますが、どの弧がそうですか:オブジェクトがポインタを指していない場合は、自動的に解放されます。そのNSString上に "myvariable"ポインタしかないと仮定すると、それをnilに設定した瞬間に解放されます。
myvariableを再びnilに設定すると、以前にオブジェクトがリリースされて以来、何もしていないことになります。
これは、そのNSStringを指す別の変数があると、オブジェクトWONTは解放されますが、myvariableはそれ以上指し示されないことに注意してください。
忘れてしまったことは、レイ・ウェンデリッヒの「iOS 5チュートリアル」の弧の仕組みについての優れた説明があります。
PD:あなたはARCを使用している場合、uはあなたの
@property(アトミック、保持)NSStringの* myVariable変数を変更する必要があります。
@property(非アトミック、強い)NSStringの* myVariable変数に
。
オブジェクトと変数の違いについては混乱しているようです。変数がnilの場合、変数は無限に解放されます。無期限でないオブジェクトを1度だけ解放すると、クラッシュが発生します。 – hotpaw2
あなたは正しいと思います。私はそれを受け入れることができるようにこれを答えとして入れることができますか? – Abhinav