ios - Realm 列表未保存数据

标签 ios swift realm

我正在从FireBase提取数据并将其保存在我的领域内,但无法正常工作:

for doc in docs {
    let shopData = doc.data()
    let newShop = RLMShop()
    newShop.shopName = shopData["name"] as? String ?? "Empty Name"
    self.saveShop(shop: newShop) // My issue is here 
}

我的saveShop函数:
    func saveShop(shop: RLMShop) {
       do {
          try realm.write {
            realm.add(shop)
          }
       } catch {
        print("Error saving shop \(error)")
    }
}

调用保存功能不会保存我的对象。

最佳答案

您遇到的问题是您正在创建RLMShop对象,但未将其链接到RLMShopsCategory对象,因此shopsList将不包含新对象。

// Fetch the RLMShopsCategory that you wish to add the RLMShop too
// Using Primary Key here just as an example
let shopsCategory = realm.object(ofType: RLMShopsCategory.self, forPrimaryKey: "YourKey")

for doc in docs {
    let shopData = doc.data()
    let newShop = RLMShop()
    newShop.shopName = // setting the properties etc

    // This is the part you are missing
    // You need to append the newShop to your shopsCategory object
    try! realm.write {
       shopsCategory.shopsList.append(newShop)
    }
}

关于ios - Realm 列表未保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61980497/

相关文章:

ios - 无法使用退格键从 iOS 中的文本字段中删除字符

ios - 帧持续时间 - UIImage 数组到电影

android - Realm 实例和多线程

ios - 我可以删除一个 Realm 而不是进行迁移吗?

android - 在 Realm `addchangelistener` 知道在哪个位置插入/更新/删除了元素?

ios - 在同一方法中处理和运行多个 ViewController

ios - 具有重复条目的地址簿

ios - 新旧 CoreData 模型

ios - 如何修复此无效更新 : invalid number of rows in section 0 error?

ios - 在 MKMapItem.placemark.coordinate 处崩溃