Я использую инфраструктуру Realm для iOS и пытаюсь создать несколько объектов в массиве из запроса на синтаксический анализ, но контролирую, чтобы в локальной области не было повторяющихся объектов.
let lastSyncDate = NSUserDefaults.standardUserDefaults().objectForKey("com.fridge.sync.last") as NSDate
let query = PFQuery(className: "Category", predicate: NSPredicate(format: "updatedAt > %@", lastSyncDate))
query.findObjectsInBackgroundWithBlock { (results, error) -> Void in
if error != nil {
return
}
if results.isEmpty {
return
}
let realm = RLMRealm.defaultRealm()
/*realm.transactionWithBlock({ () -> Void in
for remoteCategory in results as [PFObject] {
let category = Category()
category.name = remoteCategory["name"] as String
category.image = NSData()
realm.addObject(category)
}
})*/
/*realm.beginWriteTransaction()
for remoteCategory in results as [PFObject] {
let category = Category()
category.name = remoteCategory["name"] as String
category.image = NSData()
realm.addObject(category)
}
realm.commitWriteTransaction()*/
}
Я также использовал версию Creatorupdate, но она по-прежнему не сохраняет объекты, и по какой-то причине я не могу отладить что-либо из того, что происходит внутри кода области.
Категорийная модель выглядит следующим образом:
class Category: RLMObject {
dynamic var categoryId: String = ""
dynamic var name: String = ""
dynamic var image: NSData = NSData()
var stores: [Store] {
return linkingObjectsOfClass(Store.className(), forProperty: "category") as [Store]
}
override class func primaryKey() -> String {
return "categoryId"
}
}
Любая идея о том, что может пойти не так, приветствуется. заранее спасибо