NSBlockOperations вызывает утечку памяти и вызывает deinit никогда не вызывается [swift]
var blockOperations = [NSBlockOperation]()
func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?) {
if type == .Insert {
blockOperations.append(NSBlockOperation(block: {
self.collectionView?.insertItemsAtIndexPaths([newIndexPath!])
}))
}
}
func controllerDidChangeContent(controller: NSFetchedResultsController) {
collectionView?.performBatchUpdates({
for operation in self.blockOperations {
operation.start()
}
}, completion: { (completed) in
print("completed")
})
}
Это мой код для вставки сообщений в мою коллекцию.
Мне нужны операции блока, чтобы при задержке сообщения его можно было вставить в блок вопроса.
Проблема в том, что каждый раз, когда я увольняю viewController
print("completed")
дубликаты. что означает, что у меня утечка памяти.
А также deinit
никогда не вызывается, если я не удаляю операции блока, как я могу освободить операцию блока, когда я покидаю viewController
?