我正在測試解析本地數據存儲以評估是否可以將它用作主要用於離線的應用程序的SQLite替代品。我可能發現了一個錯誤?Parse.com本地數據存儲區:嘗試使用新的未保存的子項保存對象
考慮產品和Order類:
class Product : PFObject, PFSubclassing {
@NSManaged var productName: String!
}
class Order : PFObject, PFSubclassing {
@NSManaged var orderId: String!
@NSManaged var product: Product!
}
隨着互聯網禁用,當我運行下面的代碼,它崩潰的最後一行與Tried to save an object with a new, unsaved child.
let p = Product()
p.productName = "Test Product"
p.saveEventually()
let o = Order()
o.orderId = "TestOrder01"
o.product = p
o.saveEventually()
let query = Order.query()
query.whereKey("product", equalTo: p)
let results = query.findObjects() // crashes with Tried to save an object with a new, unsaved child.
它是一個平臺,限制或我的代碼中有一個錯誤?
注意我已經從內存中鍵入代碼,所以忽略小問題。
你說得對,但我的觀點是不應'saveEventually()'保存到本地數據存儲區(因爲用戶沒有互聯網)?對於用戶來說,創建對象和代碼來查詢它們以更新UI(在離線狀態下)是非常常見的情況。所以,這實際上是一個平臺限制,除非數據已經保存*在線*,否則不能運行查詢? – User123