[AnyObject]?没有名为'Generator'的成员

Pon*_*oud 4 for-loop optional swift

func retrieveMessages() {

    var query:PFQuery = PFQuery(className: "Message")

    //Call findobjectsinbackground

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

        self.messagesArray = [String]()
        for messageObject in objects {   <<<<<<<<<<<<<<<<< error
            let messageText:String? = (messageObject as PFObject)["Text"] as? String
            if messageText != nil {
                self.messagesArray.append(messageText!)
            }
        }
        self.messageTableView.reloadData()
    }
}
Run Code Online (Sandbox Code Playgroud)

从这段代码中发生错误说:[AnyObject]? does not have a member named 'Generator'.有没有办法如何纠正这个?

aya*_*aio 11

您的objects数组声明为可选:objects:[AnyObject]?

所以你需要在循环之前解开它:

for messageObject in objects! {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

因为objects可以是零,所以最好这样做:

if let myObjects = objects {
    for messageObject in myObjects {
        // do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)