Устранение утечки памяти в SearchKit CoreService - PullRequest
0 голосов
/ 07 июня 2018

Я работал над проектом, используя Apple SearchKit .Но недавно я обнаружил утечку памяти через инструменты, которая указывает на SearchKit.Как и в приведенном ниже коде

guard
    let document = SKDocumentCreateWithURL(fileURL)?.takeRetainedValue()
else { return false }
defer { SKIndexFlush(indexFile) }
// Both SKIndexAddDocumentWithText and SKIndexAddDocument are builtin SearchKit
let addMethod: documentAddFunc = type == .nameOnly ? SKIndexAddDocumentWithText : SKIndexAddDocument
let textContent: CFString? = type == .nameOnly ? (fileName + " \(additionalNote)") as CFString : nil
return addMethod(indexFile, document, textContent, true)/* The line where instrument suggests the memory leak happened*/

Некоторые пояснения здесь: обе функции могут быть назначены на addMethod, обе являются встроенными функциями из SearchKit.indexFile - это тип SKIndex.document создается в верхней части картинки, которая должна быть правильной.

Так это ошибка на стороне Apple, или моя проблема - вызвать утечку памяти?Могу ли я что-нибудь сделать, чтобы избежать или исправить это?

Большое спасибо!

...