得到此错误:
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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。