ios 快速解析 : get data out of parse and use them

标签 ios arrays swift object parse-platform

我只在文档中发现查询如何选择数据。 据我所知,只有一种方法可以收集 1 个或多个结果:

var query = PFQuery(className:"GameScore")
query.whereKey("playerName", equalTo:"Sean Plott")
query.findObjectsInBackgroundWithBlock {
  (objects: [AnyObject]!, error: NSError!) -> Void in
  if error == nil {
    // The find succeeded.
    NSLog("Successfully retrieved \(objects.count) scores.")
    // Do something with the found objects
    for object in objects {
        NSLog("%@", object.objectId)
    }
  } else {
    // Log details of the failure
    NSLog("Error: %@ %@", error, error.userInfo!)
  }
}

我无法弄清楚(因为我是初学者!)的是如何访问对象数据。比方说我有字段“名称”,我怎样才能得到它?什么是正确的语法?特别是如果我有超过 1 个结果?

对于一个结果我会这样做:

var name = object["name"] as String
myArray.append(name)

即使这样也不对吗?要在循环中使用“var xx = xx”?

当我有多个结果时我该怎么办?

其他想法: 声明变量名称:字符串!在我进行查询之前,然后:

name = object["name"] as String
self.myArray.append(name)

返回错误:[String] 类型的不可变值只有名为“append”的可变成员

“处理”查询返回的数据的正确方法是什么?

另一个问题:由于这些查询是异步的,它们完成得较晚,方法“完成”得更早,这样,当显示 View 时,我的名称数组为空,我会在稍后阶段接收数据。在将 View 传送到设备之前让所有数据可用的最佳做法是什么?

非常感谢!!

最佳答案

您可以在您的对象上使用objectForKey。因此,除了使用 var name = object["name"] as String,您还可以使用:

for object in objects {
    var name = object.valueForKey("name") as String
}

但其他部分绝对没问题。您可以在代码中的某处创建一个数组,然后将对象添加到其中。为此,您可以遍历对象并将对象添加到数组中。像那样:

 if error == nil {
    // The find succeeded.
    NSLog("Successfully retrieved \(objects.count) scores.")
    // Do something with the found objects
    for object in objects {
        var name = object["name"] as String
        myArray.append(name)
    }
  }

因为您可以重用 var name,因为每个循环元素都将填充到变量名中,并将删除最后一个值。但是数组将附加新值。例如:

  1. 第一个循环。 objects 的第一个索引处的值被加载到 object 中。例如,值为“John”。
  2. 变量name 的值现在是当前循环的对象["name"] 的值。所以 name 的值为 John
  3. 现在将值添加到数组中。
  4. 第二个循环开始,第二个元素被加载到 object 中,它现在有字符串 Michael
  5. 变量 name 的新值现在是 object 的值。所以 name 的值现在是 Michael

等等。

关于ios 快速解析 : get data out of parse and use them,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28718862/

相关文章:

ios - 在为 iOS 项目运行 SenTest 测试时,我可以使用 LLVM 在 Xcode 4 中使用条件定义吗?

java - 如何查找数组中重复的元素?

c - c中的结构排列

swift - 如何在保持导航栏存在的同时以模态方式呈现 View Controller 。 (对于设置 View Controller )

ios - didRegisterForRemoteNotificationsWithDeviceToken 没有被调用 Swift 5,Xcode 10.2

objective-c - 试图将 UIActivityIndi​​catorView 添加到 View 中,但不起作用

ios - XlsxReaderWriter 创建只读 .xlsx 文件?

python - 查找 numpy 数组中第 n 次超出特定值的情况

ios - Firebase 通知仅显示在控制中心

ios - 如何防止启动图像在 iOS 7 的 Web 应用程序中垂直拉伸(stretch)?