【发布时间】:2014-09-17 16:01:21
【问题描述】:
我有点困惑尝试从 swift 中的 coredata 获取关系数据
个人实体 包含人名和唯一 ID。与书籍的关系是一对多
例如
Person Entity:
idPerson = 25 - namePerson = John
idPerson = 26 - namePerson = Steve
图书实体包含图书的标题、图书的唯一 ID 以及与人员 (personBook) 的关系 ID。与 Person 的关系是一对一的 例如
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 ?
非常感谢!
【问题讨论】:
标签: core-data swift ios8 relationship xcode6gm