【发布时间】:2015-05-27 23:13:26
【问题描述】:
我有一个 Person 类和一个 Brand 类,它们是 Core Data 中的关系。我知道如何获取整个 Person 类 (NSManagedObject),但我如何深入研究以仅获取与该人关联的品牌?
import Foundation
import CoreData
class Person: NSManagedObject {
@NSManaged var name: String
@NSManaged var brands: NSSet
func addBrandsObject(value: Brand) {
self.mutableSetValueForKey("brands").addObject(value)
}
}
import Foundation
import CoreData
class Brand: NSManagedObject {
@NSManaged var name: String
@NSManaged var people: NSSet
}
视图控制器:
![import UIKit
import CoreData
class BrandsTableTableViewController: UITableViewController {
var brands = \[NSManagedObject\]()
var selectedPerson: Person?
var selectedBrand: Brand?
//Fetch Core Data
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.fetchCoreData()
}
//Helper Function to Fetch Core Data
func fetchCoreData() {
//1
let appDelegate =
UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext!
//2
let fetchRequest = NSFetchRequest(entityName:"Person")
//3
var error: NSError?
let fetchedResults =
managedContext.executeFetchRequest(fetchRequest,
error: &error) as? \[NSManagedObject\]
if let results = fetchedResults {
////what here?
} else {
println("Could not fetch \(error), \(error!.userInfo)")
}
}][1]
【问题讨论】: