gpt4 book ai didi

ios - 为什么 NumberFormatter 的字符串(来自 :) return an optional?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:03:12 24 4
gpt4 key购买 nike

Documentation link

为什么 NumberFormatter 函数 func string(from number: NSNumber) -> String? 返回一个 String? 而不是 字符串NumberFormatter 是否有特定的输入或状态,此函数可以返回 nil?有时我听说这些不太理想的返回类型来自 Objective-C 保留文件,这是其中一种情况吗?

最佳答案

只是为了好玩:这是一个(构造的,非真实世界的)示例,其中string(from:) 实际上返回nil:

let num = NSNumber(bytes: UnsafeRawPointer(bitPattern: 1)!, objCType: "v")
print(num) // <>

let fmt = NumberFormatter()
fmt.numberStyle = .decimal
let str = fmt.string(from: num)

print(str as Any) // nil

原因是这个num不代表一个数字:它是被创建的使用 NSValue(从中继承)初始值设定项 init(bytes:objCType:)具有表示 void 的值。 (“v”是 voidtype encoding,指针值无关紧要。)

关于ios - 为什么 NumberFormatter 的字符串(来自 :) return an optional?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50067233/

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