Я только начал мигрировать некоторый Swift кода к Swift 3. Форматирование для цветовых констант изменились сПочему UIColor.white, красный, зеленый и синий не работают, но все остальные цветовые константы работают нормально?
let color = UIColor.yellowColor() // Swift 2
let color = UIColor.yellow // Swift 3
Большинства коды моего проекта был мигрирующим над просто отлично, используя этот новый синтаксис. Однако некоторые цветовые константы UIColor не работают: UIColor.white
, UIColor.red
, UIColor.green
и UIColor.blue
. Все остальные константы UIColor, такие как UIColor.yellow
, работают нормально. Неисправные константы появляются в автозаполнении, и веб-сайты онлайн сообщают, что они работают (http://leaks.wanari.com/2016/09/26/converting-project-swift-3-0/).
Однако, когда я скомпилировать следующий файл:
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
Это дает следующие ошибки:
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'
Теперь последняя ошибка имеет смысл; нет цветовой константы, которая называется fakeColor
. Но это показывает, что компилятор видит неисправные цветовые константы, поскольку он дает другую ошибку.
Согласно Apple's documentation, неисправные цветовые константы существуют. Почему мой компилятор не видит их?
Вы пробовали чистый ваш проект и переписать строки, которые вызывают проблемы. Вы можете построить проект? – Starlord
@Joakim Просто очистил проект, и он по-прежнему дает те же ошибки при построении. Есть еще идеи? – Cin316
Это хватит на соломинку, но я бы, может быть, попытался импортировать UIKit напрямую, если вы еще этого не сделали. –