错误:“expression式的types不明确,没有更多的上下文”

我很新的编码Swift,所以请原谅,如果这个错误是一个简单的答案!

我不断收到一条错误消息,指出“expression式的types不明确,没有更多的上下文”。

var findTimelineData: PFQuery = PFQuery(className: "Sweets") findTimelineData.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in if error == nil { for object:PFObject in objects! { // ----This is the error line--- self.timelineData.addObject(object) } } } 

我明白问题是什么,我只是不确定如何解决问题。 我已经看到了有关这个答案的其他问题,但没有关于通过一个AnyObject的数组迭代。

谢谢!

你可以帮助编译器知道objects是这样的:

 for object in objects as! [PFObject] { self.timelineData.addObject(object) } 
 if let pfObjects = objects as? [PFObject] { for pfObject in pfObjects { self.timelineData.addObject(pfObject) } } 

Swift代码中的感叹号给了我heeby jeebies。

如果你正在写一些代码喜欢:

 for (i, view) in views { } 

你需要添加enumerated

 for (i, view) in views.enumerated() { } 

现在它应该工作。