【问题标题】:Parse load data in array swift快速解析数组中的加载数据
【发布时间】:2015-08-04 17:03:16
【问题描述】:

我试图加载 Parse 数据并将结果设置在数组中,我检查了一些问题,但许多代码已经过时,所以我被卡住了,我如何在数组中设置查询?代码如下:

var array [String] = []

func loadData() {

    var query = PFQuery(className: "ParseClass")

    query.orderByAscending("column")

    query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) -> Void in

        if error == nil {

            self.array.append( objects! )// error here

        } else {

            println( error?.userInfo )
        }
    }

}

【问题讨论】:

  • 你试过打印对象了吗?
  • 我不能给出错误“无法使用类型 ([AnyObject]) 的参数列表调用 'append'”
  • 您是否关注 Parse 博客所做的事情?似乎您将 PFObject 在块函数中的位置设置为 AnyObject。 link

标签: arrays swift parse-platform


【解决方案1】:

这里的代码有点错误,这就是我要这样做的方式。

var array: [String] = [String]()
var query = PFQuery(className: "ParseClass")

func loadData() {

    query.orderByAscending("column")

    query.findObjectsInBackgroundWithBlock{ (objects: [AnyObject]?, error: NSError?) -> Void in
            if error == nil {
                if let objects = objects as? [PFObject] {
                    for object in objects {
                           self.array.append(object.objectForKey("column") as! String)
                    }
}

我发现的另一个问题是,我认为您试图保存对象数组而不是类属性的数组。我上面的方法只是将名为column 的对象属性存储在一个数组中。如果您想将 PFObjects 存储在一个数组中,那么您将不得不将您创建的 array 变量更改为像这样键入 PFObject:var array: [PFObject] = [PFObject]()

【讨论】:

    【解决方案2】:

    我认为您需要此代码:

    var array = NSMutableArray()   //Change your array type to NSMutableArray
    
    func loadData1() {
    
        var query = PFQuery(className: "ParseClass")
    
        query.orderByAscending("column")
    
        query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]!, error: NSError?) -> Void in
    
            if error == nil {
    
                //loop your objects array
                for object in objects{
    
                    let yourObject = object as! PFObject
                    //add your element into array
                    self.array.addObject(yourObject)
                }
    
                let tempArr :NSArray = self.array.reverseObjectEnumerator().allObjects
                self.array = NSMutableArray(array: tempArr)
    
            } else {
    
                println( error?.userInfo )
            }
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多