J'utilise le code suivant pour éliminer les attributs lors de l'extraction à partir de mon CoreDataModel appelé industrie. Cependant, je suis en mesure d'accéder à ces attributs qui n'ont pas demandé l'aide fetchRequest.propertiesToFetch laisser fetchRequest = NSFetchRequest (entityName: "Industrie") fetchRequest.propertiesToFetch = [ "id", "industry_name"]Récupération d'attributs ou de propriétés particuliers dans CoreData
After this i am using following code:
industryObject.industry_name=tuple.value(forKey: ""ind_subtype"") as? String
"ind_subtype" i have not specified in *.propertiesToFetch* and i am still able to access it
func fetchIndustryNamesWithId()->[IndustryData]{
var industryData=[IndustryData]()
//fetchRequest.predicate = NSPredicate(format: "firstName == %@", firstName)
let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Industry")
fetchRequest.propertiesToFetch = ["id","industry_name"]
do {
let tuples = try managedObjectContext.fetch(fetchRequest)
for tuple in tuples{
let industryObject=IndustryData()
industryObject.id=tuple.value(forKey: "id") as? Int
industryObject.industry_name=tuple.value(forKey: "industry_name") as? String
industryObject.ind_subtype=tuple.value(forKey: "ind_subtype") as? String
industryData.append(industryObject)
}
return industryData
} catch {
let fetchError = error as NSError
print(fetchError)
}
return industryData
}
s'il vous plaît partager votre code –
Lorsque vous définissez les propriétés pour aller chercher, il récupère encore des objets de type industrie, mais va tenter d'accélérer l'opération d'extraction que de faire les prorties demandés sur chaque object ... qui aboutit à tuples = [Industry] not [(id, Industry_name)] – SeanLintern88
Vous pouvez modifier ce comportement en spécifiant 'resultType' pour la requête d'extraction en tant que' .DictionaryResultType', auquel cas le fetch renvoie un tableau de dictionnaires (pas de tuples), chaque dictionnaire ayant les clés spécifiées dans 'propertiesToFetch' et les valeurs d'attribut correspondantes. – pbasdf