Ich verwende folgenden Code, um Attribute beim Abrufen von meinem CoreDataModel genannten Industrie zu entfernen. Noch bin ich in der Lage, diese Attribute zuzugreifen, die fetchRequest.propertiesToFetch mit nicht angefordert fetchRequest = NSFetchRequest (entityName: "Industrie") lassen fetchRequest.propertiesToFetch = [ "id", "industry_name"]Abrufen bestimmter Attribute oder Eigenschaften in 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
}
bitte Ihren Code –
teilen Wenn Sie die Eigenschaften einstellen zu holen, holt es noch Objekte vom Typ Industrie, sondern versucht, die holen zu beschleunigen, indem nur die angeforderten prorties auf jedem bekommen object ... was zu Tupel = [Industry] not [(id, Industry_name)] – SeanLintern88
führt Sie können dieses Verhalten ändern, indem Sie den 'resultType' für die Abrufanforderung als' .DictionaryResultType' angeben. In diesem Fall gibt der Abruf ein Array zurück von Wörterbüchern (keine Tupel), wobei jedes Wörterbuch die im 'propertiesToFetch' angegebenen Schlüssel und die entsprechenden Attributwerte aufweist. – pbasdf