2
、@autoreleasepool
は[pool drain];
を置き換えず、私はまだそのように割り当てる必要があります:Xcodeプールドレイン? Xcodeの4.2で
Person *Jay = [[Person alloc] init];
、@autoreleasepool
は[pool drain];
を置き換えず、私はまだそのように割り当てる必要があります:Xcodeプールドレイン? Xcodeの4.2で
Person *Jay = [[Person alloc] init];
この@ autoreleasepool { }
は、ARCはまだ
[[NSString alloc] init]
いずれかを実行する必要があります
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Code benefitting from a local autorelease pool.
[pool release];
に相当します
または
[NSString string]
ARCの下では、カジュアルプログラマーの視点と違いはありません。コンパイルされたコードの下には、[NSString string]
によって返されたオブジェクトがプールに入れられ、後で解放されます。 initedのものは、スコープから外れる直前にコンパイラによって挿入されたリリースを持つでしょう。
ARCを使用していない場合は、後でstringによって返されたオブジェクトに対してrelease
を呼び出す必要があります。
それを無効にする必要があることを示唆するのは多少間違いです。実際には-deallocを直接呼び出す初心者につながる可能性があります。これは間違っています。 –
私の悪い、私は解放を意味したが、その部分がARCの下で完全に間違っていたことに気づいた。古い習慣は激しく死ぬ。 – logancautrell
私はちょっと混乱していますので、私のコードは@autoreleasepool {}の中に入ります。私はまだコードの最後にプールをリリースしなければなりませんか? – Gmenfan83