PFQuery返回Empty Array

时间:2016-10-18 07:40:03

标签: ios arrays swift parse-platform pfquery

所以我一直在向解析服务器添加信息,问题是我似乎无法通过PFQuery获取我需要的字符串。

如果我打印对象,它会返回一个空数组。另外(fahrtenRequests.count = 0)。有人建议这是因为PFQuery无法读取我的数据,或者我的数据格式不正确。

我完全迷失在这里,似乎一切都应该完美无缺,但不是

感谢您的帮助:) :)

我的代码:

import UIKit
import Parse

class HistoryViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

var zeit: Array = [String]()
var kosten:Array = [String]()
var kilometer: Array = [String]()
var datum: Array = [String]()


@IBOutlet weak var tableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()

self.tableView.delegate = self

tableView.register(UINib(nibName: "CellHistoryViewControllerTableViewCell", bundle: nil), forCellReuseIdentifier: "CellHistory")


let query = PFQuery(className: "GemachteFahrten")

query.whereKey("gefahreneZeit", equalTo: (PFUser.current()?.objectId!)!)

query.whereKey("kosten", equalTo: (PFUser.current()?.objectId!)!)

query.whereKey("createdAt", equalTo: (PFUser.current()?.objectId!)!)

query.whereKey("gefahreneKilometer", equalTo: (PFUser.current()?.objectId!)!)


query.findObjectsInBackground { (objects, error) in

    if error != nil {

        print("error finding user data")


    } else {

        print("check2")

        print(objects!)

        if let fahrtenRequests = objects {


            print(fahrtenRequests.count)

再次感谢您的帮助:)

2 个答案:

答案 0 :(得分:0)

如何将所有列值与用户的对象ID进行比较?

比较将导致null,尝试使用适当的值。 另外,您不应该查询createdAt参数,其类型为Date。 检查适当的数据类型。

答案 1 :(得分:0)

不,这不是PFQuery的工作方式。 equalTo:之后的对象必须与Parse仪表板中key:@"..."下的对象类型相同。

例如,在您的情况下,如果您想要检索一个用户所做的所有行程,您需要首先将用户保存为指向User类的指针:(在您的解析仪表板中,选择编辑 - >添加一个列,然后选择Pointer作为类型,User作为目标类)

let trip = PFObject(className:"GemachteFahrten");
//save the user who made this trip
trip["user"] = PFUser.current()
//save other things like costs, distance...etc
trip["kosten"] = ...
trip["gefahreneKilometer"] = ...
trip.saveInBackground()

然后,我们希望获得属于当前用户的所有行程:

let query = PFQuery(className: "GemachteFahrten")
query.whereKey("user", equalTo: PFUser.current())
//then execute the query

请参阅解析文档http://parseplatform.github.io/docs/ios/guide/#queries