簡體   English   中英

部分領域-為什么以及何時創建?

[英]Partial Realms - Why and When are They Created?

我正在使用Realm並構建一個Swift移動應用程序。 我真的很難理解為什么以及何時創建局部領域。

這是我的情況:

用戶登錄到應用程序,並被帶到第一個視圖控制器。

在第一個加載視圖的視圖控制器中,我正在執行一個查詢以獲取當前用戶,訂閱該查詢並添加一個觀察器以讓我知道何時同步數據:

let currentUserArr = realm.objects(DBUser.self).filter("id == %@", userId)
self.subscription = currentUserArr.subscribe(named: "current user")
self.subscriptionToken = self.subscription.observe(\.state, options: .initial) { state in
            switch state {
            case .creating:
                print("creating")
            case .pending:
                print("pending")
            case .complete:
                print("complete")
                self.artist = currentUserArr[0]
            case .invalidated:
                print("invalidated")
            case .error(let err):
                //seal.reject(err)
                print(err)
            }
}

這很有意義,如果我檢查Realm Cloud,則會創建一個新的部分領域,其路徑為:

/ db / __ partial / DyeOy3OR4sNsqMi2OmDQQEzUa8F3 /〜7f11cf52

但是,這是我開始困惑的地方。 我注銷用戶。 我重新登錄,然后再次執行上面的代碼。 我的想法是Realm只會重用已經創建的部分,而是創建一個全新的部分。

/ db / __ partial / DyeOy3OR4sNsqMi2OmDQQEzUa8F3 /〜8bc7bc49

這是設計使然,還是我應該以某種方式重用局部函數,而不是每次執行查詢時都創建一個新的局部函數(即使它是由同一用戶執行的)?

我也發布在Realm論壇上:

https://forums.realm.io/t/realm-platform-realm-path-partial-s/2833

我不相信我實際上是在注銷當前同步用戶。 經過進一步的測試,一旦我注銷並重新登錄,現有的部分將被重新使用。 這不是問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM