我正在尝试使用findObjectsInBackgroundWithBlock从Parse的服务器中检索用户名。我希望结果存储在NSArray中,但我在代码中出错。 就是这样:
let query: PFQuery = PFUser.query()!
query.orderByAscending("username")
query.whereKey("username", notEqualTo: myUserId as! String)
query.findObjectsInBackgroundWithBlock {(objects:NSArray?, error:NSError?) -> Void in
}
我收到了这个错误:
无法转换类型'的值(NSArray?,NSError?) - > Void'到预期的参数类型'PFQueryArrayResultBlock?'
我知道在改变'NSArray'时一切正常吗?到'[PFObject]?',但我想结果成为一个数组..我怎么能解决这个问题?
答案 0 :(得分:0)
您无法在回调参数中强制转换。您的回调需要尊重将提供的类型,然后回调中的代码可以改变提供的参数并存储它们。
答案 1 :(得分:0)
您需要执行以下操作: 声明:
var array:NSArray = NSArray()
query.findObjectsInBackgroundWithBlock {(objects:PFObject?, error:NSError?) -> Void in
if error != nil {
print("error")
} else {
if let objects = objects{
for object in objects {
self.append(object)
}
}
}
}