66 votes

Impossible de sous-écrire une valeur de type #39;[String : Any] #39; avec un indice de type #39;UIImagePickerController.InfoKey-#39;

Je suis à l'aide d'Apple Swift iOS Tutoriel. Ce qui est en train de jeter une erreur,

Ne peut pas l'indice d'une valeur de type '[Chaîne : Toute]' avec un indice de type " UIImagePickerController.InfoKey'

La fonction qu'ils définis ci-dessous.

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

    // The info dictionary may contain multiple representations of the image. You want to use the original.
    guard let selectedImage = info[UIImagePickerControllerOriginalImage] as? UIImage else {
        fatalError("Expected a dictionary containing an image, but was provided the following: \(info)")
    }

    // Set photoImageView to display the selected image.
    photoImageView.image = selectedImage

    // Dismiss the picker.
    dismiss(animated: true, completion: nil)
}

Je suis en utilisant Xcode Version 10.0 beta 3, qui comprend Swift 4.2.

Je voudrais comprendre comment parcourir les docs pour comprendre ce qui pourrait avoir changé ou cassé.

118voto

vadian Points 29149

La signature de la méthode a changé dans Swift 4.2

et vous devez écrire

Vous pouvez comprendre ces changements de terminologie vous-même en lisant la documentation ou en commentant l'ensemble de la méthode, retaper les premiers caractères et utiliser l'achèvement du code.

27voto

edymerchk Points 751

Je suis aussi le même tutoriel, le code mis à jour ressemble à ceci:

20voto

Saranjith Points 4137
<h2>Swift 5 Annonces<p>Dans la dernière version de swift 4 ou 5 la méthode déléguée est donnée ci-dessous, il devrait fonctionner</p><pre><code></code></pre><p>Et l'utilisation,</p><pre><code></code></pre></h2>

9voto

Utilisez comme ça,

8voto

MrG Points 396

Dans Swift 4 et 5 comme ça:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X