使用NSSet按顺序保存多对一的最佳实践?

时间:2015-02-02 17:15:25

标签: swift ios8 nsset

我是Swift的新手,并且想知道是否有人可以给我一些关于如何在Core Data NSSet中存储数据的提示,这些提示按顺序排列为一对多关系的项目。我有一个书类(很多),我有一个书架类(一个),里面有一套NSSet书。

class Shelf: NSManagedObject {

    @NSManaged var books: NSSet
}

class Book: NSManagedObject {
    @NSManaged var title: String
}

我可以将书籍添加到书架上并且有效,但每次我尝试访问它们而不是我添加它们的顺序时,顺序似乎是随机的。我希望结果按照我添加的顺序保留。有没有办法这样做而不添加像bookOnShelf这样的另一个类来存储位置?

var booksInOrder = myShelf.books.AsAnyObject as [Book]
for(var i = 0; i < mySlelf.books.count; i++)
{
   output(booksInOrder[i])
}

1 个答案:

答案 0 :(得分:4)

更新您的CoreData模型以启用&#34; Ordered&#34;关系的属性。

您还希望将代码中的属性声明更改为:

    @NSManaged var books: NSOrderedSet