브랜드에 속한 모든 모델을 가져 오려고합니다. 그러나 외래 키를 가져 오려고 할 때 내부 키가있는 일종의 주소 구조가있는 NSSET 형식이 나타납니다. 여기에 내 코드가 있습니다.신속한 관련 테이블 가져 오기
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) 그러나이 방법으로 필터링 할 수있는 좋은 예제를 어디에서 찾을 수 있는지 알고 있습니까? –