2015-09-10 6 views
6

Jeder weiß, was diese nicht (auf Instanz Static Mitglied min arbeitet nicht verwendet Typ CGFloat werden kann. In der Verlängerung.Warum funktioniert max in CGFloat Erweiterung in Swift nicht?

extension CGFloat { 
    mutating func normalize() { 
     self = min(max(CGFloat(0), self), CGFloat(1)) 
    } 
} 

während das funktioniert

let f: CGFloat = CGFloat(0.4) 
let maxValue = max(f, 1) 

Antwort

12

Sie diese an die Arbeit kann von Swift.min und Swift.max als solche Angabe:

extension CGFloat { 
    mutating func normalize() { 
     self = Swift.min(Swift.max(CGFloat(0), self), CGFloat(1)) 
    } 
} 

bei der Verwendung von nur min und max ist es nicht sicher, ob Sie CGFloat.min oder Swift.min bedeuten

Verwandte Themen