web-dev-qa-db-fra.com

Erreur: 'Le type d'expression est ambigu sans plus de contexte'

Je suis assez nouveau pour coder Swift, alors veuillez m'excuser si cette erreur est une réponse simple! 

Je continue à recevoir un message d'erreur disant "Le type d'expression est ambigu sans plus de contexte".

    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)
            }
        }
    }

Aucune suggestion?

Merci!

13
Kody R.

Vous pouvez aider le compilateur à savoir à quoi ressemble objects:

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

... les points d'exclamation dans le code Swift me donnent les bons mots.

3
Tom Howard

Si vous écrivez du code aime:

for (i, view) in views { 
}

Vous devez ajouter enumerated:

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

Et maintenant ça devrait marcher.

1
Zigii Wong