swift 解析如何在本地数据存储中保存对象并显示它们?
swift parse how to save objects in local datastore and show them?
我已经启用 local datastore in app delegate
,我已经进行了查询,但是如果有 no internet
,我该如何保存这些对象以查看它们?
这是我的查询:
query.findObjectsInBackgroundWithBlock {
(objects, error) -> Void in
if error == nil && objects != nil
{
self.messages = objects!
for object in objects! {
inboxphotos.append(object.objectForKey("photo") as! PFFile)
inboxusers.append(object.objectForKey("username") as! String) }
}
}
现在我怎样才能local query
查看这个objects
?
调用前findObjectsInBackgroundWithBlock
,
query.fromLocalDatastore()
这将强制您的查询从 localDataStore 中提取。您的代码应如下所示:
query.fromLocalDatastore()
query.findObjectsInBackgroundWithBlock {
(objects, error) -> Void in
if error == nil && objects != nil
{
self.messages = objects!
for object in objects! {
inboxphotos.append(object.objectForKey("photo") as! PFFile)
inboxusers.append(object.objectForKey("username") as! String) }
}
}
为了在本地保存对象,您必须首先启用localDataStore:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Parse.enableLocalDatastore()
Parse.setApplicationId("parseAppId", clientKey: "parseClientKey")
}
}
使用 localDataStore
保存对象的推荐方法是使用 saveEventually
:
myObject.saveEventually()
您也可以使用 .pinInBackground()
将对象保存在 localDataStore "permanently" 中。固定对象可确保当您再次从服务器获取本地对象时自动更新它们。是实现服务器数据离线缓存的理想方式。
我已经启用 local datastore in app delegate
,我已经进行了查询,但是如果有 no internet
,我该如何保存这些对象以查看它们?
这是我的查询:
query.findObjectsInBackgroundWithBlock {
(objects, error) -> Void in
if error == nil && objects != nil
{
self.messages = objects!
for object in objects! {
inboxphotos.append(object.objectForKey("photo") as! PFFile)
inboxusers.append(object.objectForKey("username") as! String) }
}
}
现在我怎样才能local query
查看这个objects
?
调用前findObjectsInBackgroundWithBlock
,
query.fromLocalDatastore()
这将强制您的查询从 localDataStore 中提取。您的代码应如下所示:
query.fromLocalDatastore()
query.findObjectsInBackgroundWithBlock {
(objects, error) -> Void in
if error == nil && objects != nil
{
self.messages = objects!
for object in objects! {
inboxphotos.append(object.objectForKey("photo") as! PFFile)
inboxusers.append(object.objectForKey("username") as! String) }
}
}
为了在本地保存对象,您必须首先启用localDataStore:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Parse.enableLocalDatastore()
Parse.setApplicationId("parseAppId", clientKey: "parseClientKey")
}
}
使用 localDataStore
保存对象的推荐方法是使用 saveEventually
:
myObject.saveEventually()
您也可以使用 .pinInBackground()
将对象保存在 localDataStore "permanently" 中。固定对象可确保当您再次从服务器获取本地对象时自动更新它们。是实现服务器数据离线缓存的理想方式。