95 votes

Xcode 10 - les littéraux d'image ne sont plus disponibles

Notes de publication de Xcode 10: «La complétion de code pour les littéraux d'image Swift a été supprimée dans Xcode 10»

Ce n'est donc pas un bug que je n'ai pas pu ajouter d'images dans le code (et exécuter des projets plus anciens). Comment ajouter ensuite des images à partir de maintenant dans le code en tapant simplement UIImageView(image: n'acceptera aucun png ou jpeg.

 let cellImage: UIImageView = {
    let image = UIImageView(image: ???))

    return image
}()
 

Système: macOS Mojave
Xcode: Xcode 10 Beta 4

132voto

Dans Xcode 10 et Swift 4.2, seule la complétion de code de fonction (ou de l'auto-complétion) de Xcode IDE a été abandonné pour l'ancienne. Voici la nouvelle façon:

Juste type image literal , et il complètera avec l'icône par défaut.

enter image description here

 

Double-cliquez sur cette icône pour ouvrir la bibliothèque de médias à droite côté d'elle.

enter image description here

 

Il suffit de choisir votre imagem et il travailler comme avant!

enter image description here

99voto

Ron Gahlot Points 897

Trouvé le raccourci pour ouvrir l'onglet Bibliothèque multimédia:

+ + M

À ce stade, la documentation officielle ne couvre pas certains cas d'utilisation de Xcode 10 beta, je ne suis donc pas en mesure de trouver un moyen de déplacer la partie multimédia vers son ancienne position.

53voto

andrey.krukovskiy Points 417

Vous pouvez utiliser la bibliothèque multimédia dans Xcode pour ajouter un littéral d'image à votre code:

Afficher la bibliothèque multimédia XCode

Et puis choisissez l'image de la bibliothèque et faites-la glisser vers votre code

Choisissez l'image de la bibliothèque

Il va créer une image littérale

31voto

iSofia Points 790

Pour le profit des autres, avec le code de legs que utlizes Swift Image Littéraux, le code et la syntaxe de l'image littérale de la fonction eux-mêmes sont toujours valables et fonctionnent parfaitement bien dans Xcode 10 avec Swift 4.2.

Il n'est pas nécessaire d'annulation ou de refactoriser le code existant utlizes ces images littéraux, et ils peuvent toujours être utilisés comme suit:

imageView.image = #imageLiteral(resourceName: imageNameString)

Seul l'achèvement de code de fonction (ou de l'auto-complétion) de Xcode IDE a été abandonné.


Mise à JOUR

La différence dans l'image-représentation littérale dans les versions antérieures et actuelles ou Xcode/Swift:

image = #imageLiteral(resourceName: "flower.jpg")

image = #imageLiteral(resourceName: "flower.jpg")

Comme l'extrait illustre, à l'image des littéraux étaient représentés en ligne avec des vignettes de leur image. Cependant, maintenant, seulement une icône générique est utilisé à sa place. Sans doute, cela va vers la réduction de la charge pesant sur les IDE, en éliminant les frais généraux de la manipulation et l'affichage des vignettes.

20voto

Wesley Gomes Points 174

CONSEIL: pour corriger trois résolutions après avoir ajouté une image littérale dans le code.
1. Supprimez-en une autre, conservez une seule image
2. Commentez votre code de ligne avec une image littérale, puis apparaîtra une image littérale dans le code, comme: #imageLiteral(resourceName: "image@2x.png"
3. dans resourceName valeur, supprimez @2x et l'extension de fichier, comme .png , conservez uniquement le nom de l'image: #imageLiteral(resourceName: "image")
4. Ne commentez pas! L'image sera montrée dans le code.

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