PFObject子类:NSArray元素无法匹配Swift数组元素类型

时间:2015-12-19 17:05:38

标签: ios arrays swift parse-platform subclassing

我正在尝试为PFObject(Subclassing)创建一个自定义类,这似乎工作正常,但是当我尝试转换/使用自定义类对象时,作为常规PFObject,它会搞砸。这就是我想要做的。

首先,我出于测试原因创建了名为 NewPFObject 的自定义类。

注意:我在设置应用ID之前在AppDelegate中调用 NewPFObject.registerSubclass()

class NewPFObject: PFObject, PFSubclassing {

    static func parseClassName() -> String {
        return "NewPFObject"
    }

    override init(className:String) {
        super.init(className: className)
    }

}

然后我有这个方法用它来使异步调用更容易和流畅:

func GetAsyncObjects(query:STARCQuery, doNext: (dataObjects:[NewPFObject]) -> ()) {
    query.findObjectsInBackgroundWithBlock { (newObjects:[PFObject]?, error:NSError?) -> Void in

        if error == nil {
            doNext(dataObjects: newObjects as! [NewPFObject])
        }

    }
}

最后,我有一个用例,错误发生在那里。

let query:PFQuery = PFQuery.init(className: "MyCustomClassInParse")

GetAsyncObjects(query) { (dataObjects) -> () in

    if(dataObjects.count > 0) {
        for customObject in dataObjects {
            //Do something with customObject data
        }
    }

}

用例的错误与标题相同:

  

致命错误: NSArray元素未能与Swift数组元素类型匹配

它发生在代码的最后一块,就是我在dataObjects循环中使用for数组的行。

当尝试多次强制转换时,XCode会说这样做是多余的,并且在实际运行代码时没有什么区别。同样的错误。

我真的尝试过所有内容,而且关于PFSubclassing和Stackoverflow上的这个错误的每一篇文章似乎都无法找到解决方案,所以我希望有人愿意帮助我!

谢谢!

0 个答案:

没有答案