gpt4 book ai didi

swift - 解析查询 findObjectsInBackgroundWithBlock 时出错

转载 作者:搜寻专家 更新时间:2023-10-31 08:11:57 27 4
gpt4 key购买 nike

我是 ios 开发的新手,我最近发现了一个使用解析后端构建像 ios 应用程序这样的高音扬声器的教程。我当前的设置是带有 swift 2.0 的 Xcode 7.1,本教程是在旧版本的 swift 上完成的,因此我必须调整一些 swift 语法才能使其正常工作。在遇到以下错误之前,我一切正常,

func loadData(){
timelineData.removeAllObjects()
var findTimelineData:PFQuery = PFQuery(className: "Tweet")

findTimelineData.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]?, error:NSError?) -> Void in
if (error == nil && objects != nil){
for object:PFObject! in objects!{
self.timelineData.addObject(object)
}
let array:NSArray = self.timelineData.reverseObjectEnumerator().allObjects
self.timelineData = array as! NSMutableArray
self.tableView.reloadData()
}

}

在这里,我试图访问/将解析表/类中的所有数据存储到一个数组中。编辑器提示闭包参数 (objects:[AnyObject]?, error:NSError?) -> Void in。经过几次尝试,

  1. (objects:[AnyObject]!, error:NSError!) -> Void in
  2. (objects:[AnyObject], error:NSError?) -> Void in
  3. (objects:[AnyObject]?, error:NSError) -> Void in
  4. (objects:[AnyObject], error:NSError) -> Void in

我尝试的所有选项都给了我同样的错误:'([AnyObject]!, NSError!) -> Void' 不能转换为 'PFQueryArrayResultBlock?'

事实上,对于 (objects:[AnyObject]?, error:NSError?) -> Void in(我认为最有意义),编辑器会崩溃,如果我运行代码,我会遇到段错误。

有没有人遇到过类似的问题?或知道修复方法?

提前感谢您的帮助。

最佳答案

尝试将 [AnyObject]? 更改为 [PFObject]?。这似乎是 Swift 2.0 所要求的。

所以代替:

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

使用:

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

您还需要更改对数组对象的迭代,因为它们现在已经是 PFObject

关于swift - 解析查询 findObjectsInBackgroundWithBlock 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32580364/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com