swift - 不能下标 pfobject 类型的值

标签 swift parse-platform

我收到错误消息“无法下标“PFObject”类型的值。对于以下代码:

self.Question = objectHolder["Question"] as! String!

有人知道如何修复它或任何建议吗? 我正在使用 Xcode 7 和查询解析。

功能齐全

func CallData(){
    var query : PFQuery = PFQuery(className: "QuestionsandAnswers")
   query.getObjectInBackgroundWithId("Parse Object id is here") {
        (ObjectHolder : PFObject!, error: NSError!) -> Void in
        if (error == nil) {
            self.Question = ObjectHolder.valueForKey("Question") as! String
            self.Answers = ObjectHolder.valueForKey("Answers") as! Array
            self.Answer = ObjectHolder.valueForKey("Answer") as! String

            if(self.Answers.count > 0){
                self.QuestionLabel.text = self.Question




            }

最佳答案

根据您的评论,ObjectHolder 定义为:

(ObjectHolder : PFObject!, error: NSError!) -> Void in

这意味着 ObjectHolder 不是一个数组,而是一个单独的 PFObject。假设您正确键入了键(“问题”)并且您正在查询正确的对象,您可以使用以下方法获得您要查找的内容:

self.Question = ObjectHolder.valueForKey("Question") as! String

您最初编写它的方式只有在您从 Parse 中提取字典时才有效。如果你正在拉一个数组,你可以给它下标,但不能用键;您需要通过索引找到它(即 ObjectHolder[0].valueForKey("Question") as!String)

^旁注:Parse 不允许您存储用任何语言编写的字典,只能存储数组。

关于swift - 不能下标 pfobject 类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32684790/

相关文章:

ios - 如何在 Parse 的安装类中应用更新删除查询?

ios - 从解析中删除对象/无法转换为 PFObject/NSArrayM

ios - 带有标题和自定义指示器的 UIPageViewController

SwiftUI:停止一个永远重复的动画

ios - CoreBluetooth 有时无法检测到 CBPeripheral,除非访问控制中心/通知中心

ios - 如何在 swift 2.0 中使用prepareForSegue 将数据从 PFTableViewCell 传递到下一个 ViewController?

Swift:UICollectionView + Custom Segue 会出现问题

swift - allHeaderFields 在查找键时不区分大小写

parse-platform - logInInBackgroundWithReadPermissions 打开 "You have already authorized MyApp"屏幕

node.js - 在一个 Node.js 环境中运行多个 Parse 服务器实例