2
Swift 3でSword 2の構文を変換した後、私はSwift 3でXcode 8 GM(バージョン8.0(8A218a))、私のRepoはhttps://github.com/yeahdongcn/UIColor-Hex-Swift/tree/Swift-3.0を使用しています。次のgetterに2つのブレークポイントを設定してから、テストを実行しました。最初のものは呼び出されませんでしたが、2番目のdebugDescriptionが呼び出されます。open override var description:文字列がSwift 3で呼び出されていません
open override var description: String {
return self.hexString(true)
}
open override var debugDescription: String {
return self.hexString(true)
}
私はそれはあなたが拡張のメソッドをオーバーライドすることはできません同じ
//: Playground - noun: a place where people can play
import UIKit
extension UIColor {
public func hexString(_ includeAlpha: Bool) -> String {
var r: CGFloat = 0
var g: CGFloat = 0
var b: CGFloat = 0
var a: CGFloat = 0
self.getRed(&r, green: &g, blue: &b, alpha: &a)
if (includeAlpha) {
return String(format: "#%02X%02X%02X%02X", Int(r * 255), Int(g * 255), Int(b * 255), Int(a * 255))
} else {
return String(format: "#%02X%02X%02X", Int(r * 255), Int(g * 255), Int(b * 255))
}
}
open override var description: String {
return self.hexString(true)
}
open override var debugDescription: String {
return self.hexString(true)
}
}
let color = UIColor.yellow
color.description
color.debugDescription