Sam*_* Hu 4 parse-platform swift xcode7 swift2
我是ios开发的新手,我最近发现了一个使用解析后端构建像ios app这样的高音扬声器的教程.我目前的设置是带有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()
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,我试图访问/存储解析表/类中的所有数据到数组中.编辑器抱怨闭包参数(对象:[AnyObject] ?,错误:NSError?) - > Void in.经过几次尝试,
我试过的所有选项都给了我同样的错误:'([AnyObject]!,NSError!) - > Void'不能转换为'PFQueryArrayResultBlock?'
实际上对于(对象:[AnyObject] ?,错误:NSError?) - > Void in(我认为最有意义),编辑器会崩溃,如果我运行代码,我会得到一个seg错误.
有没有人遇到过类似的问题?或者知道修复?
提前谢谢你的帮助.
小智 14
尝试[AnyObject]?改为[PFObject]?.这似乎是Swift 2.0所要求的.
所以代替:
findTimelineData.findObjectsInBackgroundWithBlock {
(objects:[AnyObject]?, error:NSError?) -> Void in
Run Code Online (Sandbox Code Playgroud)
使用:
findTimelineData.findObjectsInBackgroundWithBlock {
(objects:[PFObject]?, error:NSError?) -> Void in
Run Code Online (Sandbox Code Playgroud)
您还需要更改数组对象的迭代,因为它们现在已经存在PFObject.
| 归档时间: |
|
| 查看次数: |
2546 次 |
| 最近记录: |