更新:我發現了這個問題。
我對UIColor進行了擴展,使其行爲更加Swifty。它允許訪問RGB組件,如下所示。現在UIColor具有red
,和blue
屬性,它們表示紅色,綠色和藍色的顏色,但存在衝突。
對於有類似問題的其他人:確保檢查是否有任何擴展引起問題。
斯威夫特2擴展
//
// UIColor+Swifty.swift
//
// Created by Cin316 on 3/6/16.
// Usage is permitted under the MIT license.
// This does not work in Swift 3.0 !
//
import SpriteKit
public extension UIColor {
public var alpha: CGFloat? {
get {
var a: CGFloat = 0
if (self.getWhite(nil, alpha: &a)) {
return a
} else {
return nil
}
}
}
public var white: CGFloat? {
get {
var w: CGFloat = 0
if (self.getWhite(&w, alpha: nil)) {
return w
} else {
return nil
}
}
}
public var red: CGFloat? {
get {
var r: CGFloat = 0
if (self.getRed(&r, green: nil, blue: nil, alpha: nil)) {
return r
} else {
return nil
}
}
}
public var green: CGFloat? {
get {
var g: CGFloat = 0
if (self.getRed(nil, green: &g, blue: nil, alpha: nil)) {
return g
} else {
return nil
}
}
}
public var blue: CGFloat? {
get {
var b: CGFloat = 0
if (self.getRed(nil, green: nil, blue: &b, alpha: nil)) {
return b
} else {
return nil
}
}
}
public var hue: CGFloat? {
get {
var h: CGFloat = 0
if (self.getHue(&h, saturation: nil, brightness: nil, alpha: nil)) {
return h
} else {
return nil
}
}
}
public var saturation: CGFloat? {
get {
var s: CGFloat = 0
if (self.getHue(nil, saturation: &s, brightness: nil, alpha: nil)) {
return s
} else {
return nil
}
}
}
public var brightness: CGFloat? {
get {
var b: CGFloat = 0
if (self.getHue(nil, saturation: nil, brightness: &b, alpha: nil)) {
return b
} else {
return nil
}
}
}
}
斯威夫特3擴展
//
// UIColor+Swifty.swift
//
// Created by Cin316 on 3/6/16.
// Usage is permitted under the MIT license.
// Notice the addition of "Comp" to conflicting properties.
//
import SpriteKit
public extension UIColor {
public var alphaComp: CGFloat? {
get {
var a: CGFloat = 0
if (self.getWhite(nil, alpha: &a)) {
return a
} else {
return nil
}
}
}
public var whiteComp: CGFloat? {
get {
var w: CGFloat = 0
if (self.getWhite(&w, alpha: nil)) {
return w
} else {
return nil
}
}
}
public var redComp: CGFloat? {
get {
var r: CGFloat = 0
if (self.getRed(&r, green: nil, blue: nil, alpha: nil)) {
return r
} else {
return nil
}
}
}
public var greenComp: CGFloat? {
get {
var g: CGFloat = 0
if (self.getRed(nil, green: &g, blue: nil, alpha: nil)) {
return g
} else {
return nil
}
}
}
public var blueComp: CGFloat? {
get {
var b: CGFloat = 0
if (self.getRed(nil, green: nil, blue: &b, alpha: nil)) {
return b
} else {
return nil
}
}
}
public var hue: CGFloat? {
get {
var h: CGFloat = 0
if (self.getHue(&h, saturation: nil, brightness: nil, alpha: nil)) {
return h
} else {
return nil
}
}
}
public var saturation: CGFloat? {
get {
var s: CGFloat = 0
if (self.getHue(nil, saturation: &s, brightness: nil, alpha: nil)) {
return s
} else {
return nil
}
}
}
public var brightness: CGFloat? {
get {
var b: CGFloat = 0
if (self.getHue(nil, saturation: nil, brightness: &b, alpha: nil)) {
return b
} else {
return nil
}
}
}
}
您是否嘗試過清理項目並重寫導致問題的線路。你能建立這個項目嗎? – Starlord
@Joakim剛剛清理了這個項目,並且在構建時仍然出現相同的錯誤。還有什麼想法? – Cin316
這是抓稻草,但我也許會嘗試直接導入UIKit,如果你還沒有。 –