Я допускаю странную проблему:
Я использую backgroundFetch для извлечения данных из Core Data.
func fetchDataFromCoreData(completion:@escaping()->Void)
{
let appdel = UIApplication.shared.delegate as! AppDelegate
let context = appdel.persistentContainer.viewContext
appdel.persistentContainer.performBackgroundTask { (context) in
let fetchReq = NSFetchRequest<NSFetchRequestResult>(entityName: "FreeApps")
do
{
let data = try context.fetch(fetchReq) as? [NSManagedObject]
self.resultData = data
print(self.resultData ?? "data is empty")
DispatchQueue.main.async{
completion()
}
}
catch
{
print("fetch error")
}
}
}
Теперь, на мой взгляд, контроллер, в ячейке моей таблицы:
let myDict = itunesViewModelObj.resultData?[indexPath.row] as? NSManagedObject
print(myDict?.value(forKey: "name") as? String ?? "no name")myDict shows as fault but valefor key comes nil
Теперь, если я прокомментирую, данные строки executeBackgroundTask поступят правильно.
Пожалуйста, помогите, как может быть проблема с backgroundTask.
Любые предложения будут высоко оценены!
Заранее спасибо!