Использование NSGlyph и распределение памяти

в методе для отслеживания разрывов строкчасто, дляNSTextView visibleRectЯ выделяю память дляNSGlyph использоватьNSLayoutManager getGlyphs:range:.

Должен ли я узнать, сколько памяти должно быть, так как у меня есть ссылка на диапазон (без влияния на компоновку), а также, какая очистка должна произойти - при запуске сARC ?

код (который выполняется в главной очереди):

    NSLayoutManager *lm = [self.textView layoutManager];
    NSTextContainer *tc = [self.textView textContainer];
    NSRect vRect = [self.textView visibleRect];
    NSRange visibleRange = [lm glyphRangeForBoundingRectWithoutAdditionalLayout:vRect inTextContainer:tc];
    NSUInteger vRangeLoc = visibleRange.location;
    NSUInteger numberOfLines;
    NSUInteger index;
    NSGlyph glyphArray[5000]; // <--- memory assigned here
    NSUInteger numberOfGlyphs = [lm getGlyphs:glyphArray range:visibleRange];
    NSRange lineRange;
    NSMutableIndexSet *idxset = [NSMutableIndexSet indexSet];
    for (numberOfLines = 0, index = 0; index < numberOfGlyphs; numberOfLines++) {
        (void)[lm lineFragmentRectForGlyphAtIndex:index effectiveRange:&lineRange withoutAdditionalLayout:YES];
        [idxset addIndex:lineRange.location + vRangeLoc];
        index = NSMaxRange(lineRange);
    }
    self.currentLinesIndexSet = idxset;

Ответы на вопрос(1)

Ваш ответ на вопрос