0
我在查询Parse以返回用户创建的所有Tournament对象的列表。但是,saveEventually()
取消了LDS中的对象,因此如果它们具有网络连接,则查询将返回空白。使用fromLocalDataStore()和saveEventually进行PFQuery缓存()
override func viewDidLoad() {
super.viewDidLoad()
var query = PFQuery(className:"Tournament")
query.orderByAscending("createdAt")
query.whereKey("createdBy", equalTo: PFUser.currentUser())
query.fromLocalDatastore()
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if (error == nil) {
self.tournaments = objects;
self.tableView.reloadData()
PFObject.pinAllInBackground(objects)
} else {
NSLog("Error: %@ %@", error, error.userInfo!)
}
}
}
我想保留创建的所有对象在本地缓存,以便它们可以脱机访问。这可能吗?
如果我们在应用程序离线时调用saveInBackgroundWithBlock,会发生什么情况?一旦像[saveEventually](https://parse.com/docs/ios_guide#objects-offline/iOS)那样恢复网络连接,最终是否会保存它?所有数据都同步到Parse非常重要。 – Fenda 2015-02-18 13:33:54
如果您在用户离线时调用'saveInBackgroundWithBlock:',则请求将失败并返回错误并解析将不会尝试重试。 – hhanesand 2015-02-18 19:15:42