我的文本字段映射到模型对象上的NSUInteger
类型属性。只要属性等于NSUIntegerMax
,文本字段NSNumberFormatter
就会显示-1
。我宁愿显示∞
。
我已尝试将“格式( - )”值(从IB)设置为∞
,但结果为∞1
。有一些方法可以定义遇到无穷大时要使用的符号......但它永远不会被使用。如果不是NSUIntegerMax
,哪个值实际上会产生无穷大符号?
答案 0 :(得分:4)
整数空间中没有“无穷大”。只有花车具有“无限”的概念(以及“NaN”或“非数字”)。 NSUIntegerMax
绝对不是无穷大(它无限小于无穷大)。
如果您想将有限整数映射到字符串∞
,那么您需要转换为浮点数并使用INFINITY
,或者您需要子类NSNumberFormatter
来覆盖{ {1}}做你想做的事。或者,如果您愿意,可以在更高级别进行管理,只需在将其交给stringForObjectValue:
之前检查一下。
答案 1 :(得分:1)
NSUIntegerMax
不是无穷大,只是一个很大的数字。浮点数(float
或double
)确实有特殊值来表示无穷大,对于那些数字格式化程序将使用给定的无穷大符号。
要为NSUIntegerMax
提供无穷大符号,您必须编写自己的数字格式化程序或单独处理此案例。