Realm只保存我最近添加的对象

时间:2016-08-03 10:25:52

标签: ios swift realm

我试图在Realm中保存我的对象数组,但Realm似乎只保存了最后一个对象。

这是我的模特课:

class ContactEntry: Entry {
    dynamic var contactId: Int = 0
    dynamic var email: String? = ""
    dynamic var phone: String? = ""
    dynamic var building: String? = ""
    dynamic var room: String? = ""
    dynamic var contactDescription: String? = ""
    dynamic var worktime: String? = ""
    dynamic var address: String? = ""
    dynamic var personEntries: PersonEntry?
}

这是基类:

class Entry: Object {
    dynamic var id: Int = 0

    override static func primaryKey() -> String? { return "id" }
}

这是我用于保存的代码:

func createOrUpdate(entities: [Entity]) {
    let entries = toEntries(entities)
    let realm = try! Realm()
    try! realm.write {
        realm.add(entries, update: true)
    }
}

func toEntry(entity: Contact) -> ContactEntry {
    let entry = ContactEntry()
    entry.contactId = entity.id
    entry.email = entity.email
    entry.phone = entity.phone
    entry.building = entity.building
    entry.room = entity.room
    entry.contactDescription = entity.description
    entry.worktime = entity.worktime
    entry.address = entity.address
    entry.personEntries = personDAO.toEntry(entity.person)
    return entry
}

func toEntry(entity: Person) -> PersonEntry {
    let entry = PersonEntry()
    entry.personId = entity.id
    entry.firstname = entity.firstname
    entry.middlename = entity.middlename
    entry.lastname = entity.lastname
    entry.photo = entity.photo
    return entry
}

我认为这可能是因为我的模特中有关系,但我不确定他们为什么会成为一个问题。 我按照Realm文档中的描述使用它们。

0 个答案:

没有答案