gpt4 book ai didi

ios - 在 Swift 中将 CGFloat 转换为 NSNumber

转载 作者:IT王子 更新时间:2023-10-29 05:07:08 25 4
gpt4 key购买 nike

我在 Swift 中有一个扩展,它包含一些 CGFloat 的属性。问题是我不知道如何使用关联对象将 CGFloat 值存储为 NSNumber

这是我的代码,它不起作用,但它详细说明了我想做什么:

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);

}
}

有没有办法解决这个问题?

最佳答案

在 Swift 3.0 中

let myFloat : CGFloat = 1234.5

let myNumber = NSNumber(value: Float(myFloat))

let myNumber = NSNumber(value: Double(myFloat))

在 swift 2 中

let myNumber = NSNumber(double: myFloat.native)

let myNumber = NSNumber(double: Double(myFloat))

let myNumber = NSNumber(float: Float(myFloat))

关于ios - 在 Swift 中将 CGFloat 转换为 NSNumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34278923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com