【问题标题】:Parse Local DataStore not showing pinned data解析本地数据存储不显示固定数据
【发布时间】:2015-12-17 18:54:26
【问题描述】:

我已尝试确保在实施 Parse 本地数据存储时遵循所有推荐的步骤,但固定似乎不起作用或查询固定对象不起作用。我尝试了多种选择。下面是我的视图控制器代码,我还在应用程序委托文件中启用了数据存储等(使用基本解析启动项目)。请告诉我问题出在哪里。

我的控制台中的输出 - 我能够从解析服务器获取数据,但要么无法正确固定它或无法正确检索它或其他什么..

 Success 8888 
Optional([])
Push notifications are not supported in the iOS Simulator.
success 7777
Optional([<Restaurant: 0x7f98ca521f60, objectId: 0rRZNCndje, localId: (null)> {
    Name = time;
}])

感谢您的帮助!

import Foundation
import Parse
import ParseUI
import UIKit
import Foundation

class RestaurantAdmin: ViewController {
    func getDataFromLocalDataStore() {
        var userName = PFUser.currentUser()?.username
        var messages2: [AnyObject]!
        var query2: PFQuery = PFQuery(className: "Restaurant")
        query2.fromLocalDatastore()
        query2.whereKey("Owner", equalTo: userName!)
        query2.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
            if (error == nil) {
                messages2 = objects
                println(" Success 8888 ")
                println(objects)
            }
            else {
                println("Fail 8888")
            }
        }
    }

    func refreshRestaurantDataFromServer() {
        var userName = PFUser.currentUser()?.username
        var query = PFQuery(className: "Restaurant")
        query.whereKey("Owner", equalTo: userName!)
        query.selectKeys(["Name"])
        var messages: [AnyObject]!
        query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
            if (error == nil) {
                PFObject.pinAllInBackground(objects, block: nil)
                println("success 7777")
                println(objects)
            }
            else {
                println("error 7777")
            }
        }
    }

    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        if (PFUser.currentUser()?.username != nil) {
            refreshRestaurantDataFromServer()
        }
        getDataFromLocalDataStore()
    }
}

【问题讨论】:

    标签: ios swift parse-platform local-datastore


    【解决方案1】:

    由于您使用的是query.selectKeys(["Name"]),因此不会下载整个对象。现在您正在保存这个部分对象,然后使用query2.whereKey("Owner", equalTo: userName!) 进行查询。保存的对象不包含"Owner" 键。

    【讨论】:

    • 嗨 Santhosh,我什至评论了 query2.whereKey("Owner", equalTo: userName!) 我现在期待所有类 Restaurant 的对象都会被查询。我的查询中仍然没有任何数据。我需要做些不同的事情吗?
    • 我尝试下载整个对象并且成功了。非常感谢您的帮助。
    • 如果您发现我的回答有用,请将其标记为答案。谢谢。
    • 一个问题,我们可以使用 parse 像 SQLite 和 Core-Data 一样只在本地存储数据吗?
    猜你喜欢
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2017-01-05
    • 2015-02-27
    • 2015-10-22
    • 1970-01-01
    相关资源
    最近更新 更多