私はブランドに属するすべてのモデルを取得しようとしていますが、外部キーを取得しようとしているときに、外部キーを内部に持つ何らかの種類のアドレス構造を持つ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)でも、どちらもうまくいきません。このようにフィルタリングするための良い例がどこにあるか知っていますか –