[英]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.