首页 » 移动 » swift Could not cast value of type 'NSTaggedPointerString' to 'NSNumber'

swift Could not cast value of type 'NSTaggedPointerString' to 'NSNumber'

 

NSURLconnect从服务器取出的 NSURLResponse是一个 dictionary,我们要取的是"Content-Length",但是这个字段不是常规的 String,在不同的机型上可能会出现问题。

Content-Length的类型是 NSTaggedPointerString,详细解释可以看这里http://www.cocoachina.com/ios/20150918/13449.html

虽然它也是一个字符串,但是用 dict["Content-Type"] as NSNumber是会导致程序崩溃的:Could not cast value of type 'NSTaggedPointerString' to 'NSNumber',需要先将该字段转为 string,然后再将string转成number才行。

let numberStr = dict["Content-Length"] as! String

if let number = NSNumberFormatter().numberFromString(numberStr){

print(number.longLongValue)

}

 

原文链接:swift Could not cast value of type 'NSTaggedPointerString' to 'NSNumber',转载请注明来源!