Я сохраняю некоторые ключевые значения в профиле. Но я пытаюсь получить и вернуть как словарь, чтобы принять в качестве ключевых значений для основного класса.
static func fetchProfile) -> [String: Any]? {
let delegate = UIApplication.shared.delegate as! AppDelegate
let context = delegate.persistentContainer.viewContext
let profileFetch = NSFetchRequest<NSFetchRequestResult>(entityName: AccountinfoKeyConstant.Entity_Profile)
var fetchedObjects: [String: Any]?
var entityDescription: NSEntityDescription? = nil
entityDescription = NSEntityDescription.entity(forEntityName: AccountinfoKeyConstant.Entity_Profile, in: context)
profileFetch.entity = entityDescription
do {
let objects = try context.fetch(profileFetch)
print("objects \(objects)")
fetchedObjects = objects as [String: Any]
} catch let error as NSError {
print("Could not fetched. \(error), \(error.userInfo)")
}
return fetchedObjects
}
В приведенном выше коде я получаю следующую ошибку:
Невозможно преобразовать значение типа '[Any]' для ввода '[String: Any]' в принудительном порядке
для этой строки fetchedObjects = objects as [String: Any]
Есть предложения? Как взять только словарь, чтобы вернуть его в основной класс?
Вывод:
objects [<Profile: 0x6000026c3ca0> (entity: Profile; id: 0x8d815a305b375e8d <x-coredata://F92995FE-578E-48EB-AA07-242ECBBBBFE4/Profile/p20>; data: {
birthdate = "04/22/2020";
email = "example@test.com";
"family_name" = myName;
gender = " ";
"given_name" = myName123;
name = name123;
})]