我試圖獲取屬於某品牌的所有模型,但是當我試圖獲取外鍵時,我得到了一種NSSET類型,它帶有一些內部具有外鍵的地址結構的,我堅持,這是我的代碼:在swift中提取相關表3
class func insertNew (brandDescription: String, inManagedObjectContext context: NSManagedObjectContext) -> Car_Brand? {
let request: NSFetchRequest<Car_Brand> = Car_Brand.fetchRequest()
request.predicate = NSPredicate (format: "brand = %@", brandDescription)
if let brand = (try? context.fetch(request))?.first {
return brand
} else if let brand = NSEntityDescription.insertNewObject(forEntityName: "Car_Brand", into: context) as? Car_Brand {
brand.brand = brandDescription
return brand
}
return nil
}
class func fetchModel (brandDescription: String, inManagedObjectContext context: NSManagedObjectContext) -> [String]? {
let Brand = Car_Brand.insertNew(brandDescription: brandDescription, inManagedObjectContext: context)
let request: NSFetchRequest<Model> = Model.fetchRequest()
request.predicate = NSPredicate(format: "id_model = %ld", (Brand?.id_model)!)
request.propertiesToFetch = ["model"]
request.sortDescriptors = [NSSortDescriptor(key: "model", ascending: true)]
if let preModelList = try? context.fetch(request) as [Model] {
var modelList: [String] = []
for preModelList in preModelList {
modelList.append(preModelList.model!)
}
return modelList
} else {
return nil
}
}
你能幫助我,請理解如何獲取相關表?
謝的,只有插入,如果不存在,我試圖修改謂詞這樣的事情,request.predicate = NSPredicate(格式: 「Car_Brand.id_model =%@」,brandDescription),但也不起作用,你知道我在哪裏可以找到一些很好的例子來過濾這種方式 –