NSUsersDefault 使うならこっち使った方が便利でいいと俺の中で話題に
準備
Podfile 使います、Podfile に以下追加
pod 'RealmSwift'
インストール
$ pod install
ちなみに pod 'Realm'
ってやつは RealmSwift に依存関係があって自動で読み込まれるので記載はどっちでもいいです
実装
こんな感じのデータクラスを作成しておいて
import Foundation import RealmSwift class Item: Object { dynamic var id:Int = 0 dynamic var title:String = "" dynamic var contentDescription:String = "" dynamic var date:NSDate = NSDate() dynamic var isUnread:Bool = true convenience required init(id:Int, title: String, description: String, dateString: String) { self.init() self.id = id self.title = title self.contentDescription = description self.date = NSDate.convertStringToDate(dateString) } // インデックス override static func primaryKey() -> String? { return "id" } // 新規保存 func save() { let realm = Realm() realm.write { realm.add(self, update: true) } } // 更新 func update(title: String, description: String, dateString: String) { let realm = Realm() realm.write { self.title = title self.contentDescription = description self.date = NSDate.convertStringToDate(dateString) // dateString を NSDate に変換するオレオレメソッドです } } // 書き込み func read() { let realm = Realm() realm.write { self.isUnread = false } } }
使うクラスで import RealmSwift
して、
保存したり
let item = Item(id: id, title: title, description: description, dateString: published_at) item.save()
読み込んだり
let realm = Realm() let items = realm.objects(Item) println(items)
更新したりする
let item = items[0] item.read() // 既読にする