Общая функция nsfetchrequest: контекст возвращает [Any], когда я думал, что должен вернуть [anyclass] - PullRequest
0 голосов
/ 28 мая 2019

Я хочу, чтобы универсальная функция возвращала записи любых моих сущностей

Я создал общий запрос на выборку, но не могу вернуть результаты.

func syncGetLocalChanges(_ entity: String, _ lastSyncDT: Date) ->  [AnyClass] {
    let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
    let namespace = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String
    let request = NSFetchRequest<NSFetchRequestResult>(entityName: entity) 
    request.predicate = NSPredicate(format: "modUTC >= %@", lastSyncDT as CVarArg)
    do {
        let changedRecords = try context.fetch(request)
        return changedRecords // <--- *** ERROR here: Cannot convert return expression of type '[Any]' to return type '[AnyClass]' (aka 'Array')
    } catch {
        print("Error in \(#function): \(error)")
    }
}

оператор возврата содержит ошибку Невозможно преобразовать возвращаемое выражение типа '[Any]' в тип возвращаемого значения '[AnyClass]' (он же Array)

Могу ли я вернуть записи сущностей, основываясь исключительно на строковом вводе имени сущности?

...