【Swift】[9]NSTaggedPointerStringからIntにキャストする方法

以前、サーバー側からJSONデータを取得し、その中のvalueを[as! Int]のように安直にキャストをしたら、

Could not cast value of type ‘NSTaggedPointerString’ to ‘NSNumber’

というエラーが生じてしまいました。

このNSTaggedPointerStringはNSStringのサブクラスの一つであり、それを数値にキャストする場合には一度Double型にする必要があるそうです。

その時に書いたコードが下記のものになります。

Int((【取得したデータ】 as! NSString).doubleValue)

上記のコードでは記述しておりませんが、、

実際に使うときは取得したデータをアンラップしているので、そのデータがnilの時のエラー回避等の処理は必要になるかと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です