Convertir CGFloat à NSNumber en Swift
J'ai une extension de Swift qui détient certaines propriétés qui sont CGFloat
s'. Le problème est que je ne sais pas comment pour obtenir le magasin de la CGFloat
valeur en tant que NSNumber
en utilisant les objets associés
Voici le code que j'ai qui ne fonctionne pas, mais il donne des détails sur ce que je veux faire:
var scaledFontSize: CGFloat {
get {
guard let fontSize = objc_getAssociatedObject(self, &AssociatedKeys.scaledFontSize) as? NSNumber else {
//Set it
let scaledFont:CGFloat = VGSizeValues.getValueFromValue(self.font.pointSize);
//Fails here
objc_setAssociatedObject(self,&AssociatedKeys.scaledFontSize, NSNumber( scaledFont),objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
return scaledFont;
}
return CGFloat(fontSize.doubleValue);
}
}
Quelqu'un moyen de contourner cela?
- laissez floatInNumber = NSNumber(float: Float(floatValue))
Vous devez vous connecter pour publier un commentaire.
Dans Swift 3.0
ou
Dans Swift 2
ou
ou
Pour Swift 3.1
Swift 3
let myNumber = NSNumber(value: Float(myCGFloat))
Pour moi, c'est travaillé.