代码之家  ›  专栏  ›  技术社区  ›  Boon

如何释放从CFStringTokenizerCreate创建的内存?

  •  1
  • Boon  · 技术社区  · 15 年前

      CFStringTokenizerRef tokenRef = CFStringTokenizerCreate(NULL, 
                                       (CFStringRef)contents, 
                                       CFRangeMake(0, contents.length),
                                       kCFStringTokenizerUnitWordBoundary, 
                                       NULL);
    
      CFStringTokenizerTokenType tokenType;
      // leak reported here
      while ((tokenType = CFStringTokenizerAdvanceToNextToken(tokenRef)) != kCFStringTokenizerTokenNone) 
    
    }
    
    CFRelease(tokenRef);
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   Laurent Etiemble    15 年前

    CFStringTokenizerCreate遵循 Create Rule . 所以你按预期打电话来。

    似乎在while之后缺少了一个大括号,这与CFRelease不在同一范围内。是复制/粘贴错误吗?