カテゴリー
iOS Swift

UITableViewのCellのReorder、Swipe Editの結果をCoreDataに保存

Sample Code on github

UITableViewのCellのReorder(順番組み替え)とSwipe editの動作の結果をCoreDataに保存するサンプルコードを書いてみました。

CoreDataにsongs: [Song]を保存するためのマスターオブジェクトのProjectを用意しました。

CoreDataのProject EntityのRelationshipにsongsを設定し、To Manyとし、Orderedにチェックを入れると、songsの型はXCodeが自動でNSOrderedSetに設定します。

extension Project {

    @nonobjc public class func fetchRequest() -> NSFetchRequest<Project> {
        return NSFetchRequest<Project>(entityName: "Project")
    }

    @NSManaged public var title: String?
    @NSManaged public var songs: NSOrderedSet?

}