Я написал функцию, которая должна извлекать все объекты из определенного объекта и затем помещать все виды одного атрибута в массив. Странно, моя функция возвращает значения только при вызове из AppDelegate? Всякий раз, когда я пытаюсь вызвать его откуда-то еще, он просто возвращает пустой массив
import Foundation
import CoreData
import UIKit
func fetchAllFractions() -> [String] {
let appDelegate = UIApplication.shared.delegate as? AppDelegate
let context = appDelegate!.persistentContainer.viewContext
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Deputies")
var fractions: [String] = []
do {
let results = try context.fetch(fetchRequest) as! [Deputies] //Deputies is the Entity
print(results.count)
for deputy in results {
//check if the Array of fractions already containts the deputies fraction
if fractions.contains(deputy.fraction!) {
} else {
//if not, add it to the array
fractions.append(deputy.fraction!)
}
}
} catch let error {
print("Error Fetching Fractions", error)
}
print(fractions)
//return array of fractions
return fractions
}