迅速にコアデータから関係データをフェッチしようとして少し混乱しています
Person エンティティ には、個人の名前と一意の ID が含まれます。本との関係は 1 対多
例えば
Person Entity:
idPerson = 25 - namePerson = John
idPerson = 26 - namePerson = Steve
Books エンティティには、書籍のタイトル、書籍の一意の ID、人物 (personBook) との関係 ID が含まれます。Person との関係は ONE to ONE 例
Books Entity:
idBook = 2543 - titleBook = title one - personBook = 25
idBook = 2544 - titleBook = title two - personBook = 25
idBook = 2545 - titleBook = title three - personBook = 26
ここに私のデータモデルのスクリーンショット:(評判がないため画像はありません)
人物クラス
@objc(Person)
class Person: NSManagedObject {
@NSManaged var idPerson: String
@NSManaged var namePerson: String
@NSManaged var booksRel: NSSet
}
ブッククラス
@objc(Books)
class Books: NSManagedObject {
@NSManaged var bookTitle: String
@NSManaged var idBook: String
@NSManaged var personBook: String
@NSManaged var personRel: Person
}
コードを取得する
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext!
let request = NSFetchRequest(entityName: "Books")
request.returnsObjectsAsFaults = false
request.fetchLimit = 30
////////////////////////////
// CODE TO JOIN Person entity WHERE personBook = idPerson
////////////////////////////
var results:NSArray = context.executeFetchRequest(request, error: nil)!
for temp in results {
var data = temp as Books
///////////////////////////////////////
//println(data.namePerson) ----> not working
///////////////////////////////////////
}
namePerson = personBook に基づいて、すべての本について関連する namePerson を取得することは可能ですか?
どうもありがとうございました!