次の形式の ARC コードがあります。
NSMutableData* someData = [NSMutableData dataWithLength:123];
...
CTRunGetGlyphs(run, CGRangeMake(0, 0), someData.mutableBytes);
...
const CGGlyph *glyphs = [someData mutableBytes];
...
... からメモリを読み取るが、もう参照されglyphs
ていない で何もしないコードが続きます。someData
CGGlyph はオブジェクト型ではなく、符号なし整数であることに注意してください。
someData
完了する前に のメモリが解放されるのではないかと心配する必要はありますかglyphs
(これは実際には 内を指しているだけsomeData
です)。
このコードはすべて同じスコープ内 (つまり、単一のセレクター) でありglyphs
、someData
両方が同時にスコープ外になります。
PSこの質問の以前のドラフトでは、「ガベージコレクション」に言及しましたが、これは私のプロジェクトには実際には当てはまりませんでした。そのため、以下のいくつかの回答では、ARCの下で起こることと同等の扱いをしています.