Вы, вероятно, слишком обдумываете это. Здесь не нужно «закрытие»; не требуется "обработчик завершения". Ничего асинхронного не происходит. Просто включите getRowConversation
в обычную функцию, которая возвращает Bool; позвони и верни результат, который он тебе передал.
private func getRowConversation(pIndexPath: IndexPath) -> Bool {
if let rowConversation = self.objectAtIndexPath(pIndexPath) as? Conversation {
if rowConversation.isGroupChat && rowConversation.expired {
ConversationManager.shared.deleteConversationID(rowConversation.conversationID)
return true
}
}
return false
}
И назовите это так:
func tableView(_ pTableView: UITableView, canEditRowAt pIndexPath: IndexPath) -> Bool {
return self.getRowConversation(pIndexPath: pIndexPath)
}