Les difficultés de la conversion de Swift 3
Après la conversion de Swift 2 à Swift 3 (même après la conversion edit-> convertir -> pour swift actuel, syntaxe), je reçois beaucoup d'erreurs. En particulier:
Je me suis montré total 90 erreurs pour mon projet qui fonctionnait bien dans Swift 2 avant, j'ai téléchargé cette version bêta de Xcode 8.0 et converti à Swift 3
Est-ce une conversion de l'erreur que j'ai fais?
- je sais ce que je suis payé, j'ai juste demandé si il ya une erreur ou une meilleure méthode pour la conversion.
- Je ne comprends pas pourquoi les gens en bas de vote, tout cela est le problème de base du développeur qui est de la conversion de code va demander. Tout le monde ici est un apprenant.
- je veux savoir est la méthode pour convertir le code que j'utilise edit-> convertir -> pour swift actuel, la syntaxe est correcte ou non. Si il y a une meilleure méthode, puis juste pour m'aider. c'est tout ce que j'ai demandé.
- Oui c'est le bon de commande. Cette commande n'est plus du travail, mais c'est à vous de faire le reste. Xcode est juste une IDE, pas une chose magique. 🙂 Lire la Swift 3 docs si vous êtes perdu avec les changements.
- Aussi, il est possible que la conversion ne fonctionne pas droit. Essayez de le convertir à nouveau, même si elle vous donne un avertissement indiquant que le fichier était déjà converti à Swift 3
- J'ai eu plus de 100 erreurs quand je me suis converti. Venez trouver près de 80% des erreurs ont été résolu lorsque j'ai mis à jour mes bibliothèques. En particulier, j'ai été en utilisant Swifty JSON. J'ai téléchargé la dernière version du fichier et voilà, le reste était gérable parcourant le code.
Vous devez vous connecter pour publier un commentaire.
La plupart d'entre eux sont des solutions faciles, simplement en appuyant sur le bouton rouge, et d'avoir Xcode fixer pour vous! Les autres sont:
CGRect
Swift 2:
Swift 3:
CGPoint
Swift 2:
Swift 3:
CGSize
Swift 2:
Swift 3:
CGRectGetMidX
Swift 2:
Swift 3:
CGRectGetMidY
Swift 2:
Swift 3:
UIColor
Swift 2:
Swift 3:
"NS"
Swift 2:
Swift 3:
UserDefaults
Swift 2:
Swift 3:
Et rappelez-vous de toujours utiliser l'utile "Fixer tous dans la Portée d'une fonction qui peut être trouvé à l'Éditeur -> Fixer tous dans l'Étendue
J'ai été la conversion d'un projet et Xcode n'était pas de m'aider avec toutes les corrections, donc j'ai eu recours à un couple de regex de recherche et remplace:-
Remarque qu'ils ne sont pas conscients de parenthèses imbriquées , mais probablement assez bon pour 90% des cas.