Je viens de commencer la migration du code Swift vers Swift 3. La mise en forme pour les constantes de couleur a changé dePourquoi UIColor.white, rouge, vert et bleu ne fonctionnent pas, mais toutes les autres constantes de couleur fonctionnent bien?
let color = UIColor.yellowColor() // Swift 2
let color = UIColor.yellow // Swift 3
La plupart du code de mon projet a migrait plus très bien en utilisant cette nouvelle syntaxe. Cependant, certaines des constantes de couleur UIColor ne fonctionnent pas: UIColor.white
, UIColor.red
, UIColor.green
et UIColor.blue
. Toutes les autres constantes UIColor, comme UIColor.yellow
, fonctionnent très bien. Les constantes de dysfonctionnement apparaissent dans la saisie semi-automatique, et les sites Web en ligne rapportent qu'ils fonctionnent (http://leaks.wanari.com/2016/09/26/converting-project-swift-3-0/).
Cependant, quand je compile le fichier suivant:
import SpriteKit
let aColor = UIColor.black
let aColor2 = UIColor.darkGray
let aColor3 = UIColor.lightGray
let aColor4 = UIColor.white
let aColor5 = UIColor.gray
let aColor6 = UIColor.red
let aColor7 = UIColor.green
let aColor8 = UIColor.blue
let aColor9 = UIColor.cyan
let aColor10 = UIColor.yellow
let aColor11 = UIColor.magenta
let aColor12 = UIColor.orange
let aColor13 = UIColor.purple
let aColor14 = UIColor.brown
let aColor15 = UIColor.clear
let aFakeColor = UIColor.fakeColor
Il donne les erreurs suivantes:
Instance member 'white' cannot be used on type 'UIColor'
Instance member 'red' cannot be used on type 'UIColor'
Instance member 'green' cannot be used on type 'UIColor'
Instance member 'blue' cannot be used on type 'UIColor'
Type 'UIColor' has no member 'fakeColor'
Maintenant, la dernière erreur est parfaitement logique; il n'y a pas de constante de couleur appelée fakeColor
. Mais cela montre que le compilateur voit les constantes de couleur défectueuses, car il donne une erreur différente. Selon la norme Apple's documentation, les constantes de couleur défectueuses existent. Pourquoi mon compilateur ne peut-il pas les voir?
Avez-vous essayé votre propre projet et réécrire les lignes qui causent le problème. Êtes-vous capable de construire le projet? – Starlord
@Joakim Juste nettoyé le projet, et il donne toujours les mêmes erreurs quand je construis. D'autres idées? – Cin316
Il s'agit d'une paille mais j'essaierais peut-être d'importer UIKit directement si ce n'est déjà fait. –