ios – 无法在JSON解析中将NSNumber桥接到Float

前端之家收集整理的这篇文章主要介绍了ios – 无法在JSON解析中将NSNumber桥接到Float前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
得到此错误

Fatal error: Unable to bridge NSNumber to Float. What is the problem?

这是原始消息,它是float而不是string.

{\"name\":\"Tomas\",\"gender\":\"male\",\"probability\":0.99,\"count\":594}

解决方法

Swift / Foundation中有许多不同类型的数字.您的NSKeyValueCoding已设置为NSNumber的实例(请参阅下面的JSON序列化文档的摘录),因此您需要按原样读取,然后根据需要要求将此NSNumber转换为Float:
if let n = d.value(forKey: "probability") as? NSNumber {
    let f = n.floatValue
}

JSONSerialization文档说:

A Foundation object that may be converted to JSON must have the
following properties:

  • The top level object is an NSArray or
    NSDictionary.
  • All objects are instances of NSString,NSNumber,
    NSArray,NSDictionary,or NSNull.
  • All dictionary keys are instances of NSString.
  • Numbers are not NaN or infinity.
原文链接:https://www.f2er.com/iOS/328955.html

猜你在找的iOS相关文章