领域列表未保存数据

问题描述 投票:1回答:1

我正在创建一个IOS应用程序,在其中我从Firebase中获取了一些数据,我正在使用领域来保存所获取的数据,因此当用户离线时,该应用程序代表用户上次在线时保存的数据。我有以下领域类别作为类别和商店:

class RLMShopsCategory : Object {
    @objc dynamic var categoryName: String = ""
    let shopsList = List<RLMShop>()
}

class RLMShop: Object {
    @objc dynamic var shopName: String = ""
    @objc dynamic var discountPercentage: String = ""
    @objc dynamic var phoneNumber: String = ""
    @objc dynamic var shopCity: String = ""
    @objc dynamic var shopArea: String = ""
    @objc dynamic var services: String = ""
    @objc dynamic var instagramUserName: String = ""
    @objc dynamic var facebookUserName: String = ""
    @objc dynamic var mapLatitude: String = ""
    @objc dynamic var mapLongitude: String = ""
    @objc dynamic var indexNumber: Int = 0
    var parentCategory = LinkingObjects(fromType: RLMShopsCategory.self, property: "shopsList")
}

当用户在线时,我正在View Controller的提取数据功能内使用以下循环:

for doc in docs {
    let shopData = doc.data()
    let newShop = RLMShop()
    newShop.shopName = shopData["name"] as? String ?? "Empty Name"
    newShop.discountPercentage = shopData["discount"] as? String ?? "0"
    newShop.shopArea = shopData["area"] as? String ?? "Empty Area"
    newShop.shopCity = shopData["city"] as? String ?? "Empty City"
    newShop.phoneNumber = shopData["phone number"] as? String ?? "Empty Phone Number"
    newShop.services = shopData["services"] as? String ?? "Empty Services"
    newShop.instagramUserName = shopData["instaUser"] as? String ?? ""
    newShop.facebookUserName = shopData["faceUser"] as? String ?? ""
    newShop.mapLatitude = shopData["maplat"] as? String ?? "Empty Latitude"
    newShop.mapLongitude = shopData["maplong"] as? String ?? "Empty Longitude"
    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)")
    }
}

我的问题是,当我在for循环中使用不保存任何数据的save函数时,当我使用断点时,newshop以及我的领域类别都可以正常加载,但是即使在调用save方法,我错过了什么或做错了什么? ,谢谢

ios swift realm
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.