1
私のユニットテストの1つでは、時には大きな(> 32ビット)整数値を含む[String:AnyObject]
を宣言する必要があります。リテラルは次のエラーをトリガとして整数を書く整数をオーバーフローさせた[String:AnyObject]を宣言する
[
["timestamp": 1460793600000,"expectedState": "close"],
["timestamp": 1460822400000,"expectedState": "open"]
]
:
整数リテラルオーバーフロー 'のInt' エラー
に保存されたとき、私は私がNSNumbers
[
["timestamp": NSNumber(longLong:1460793600000),"expectedState": "close"],
["timestamp": NSNumber(longLong:1460822400000),"expectedState": "open"]
]
これはデータと一致しません私は期待しています(JSON
の配列が変形可能なコアデータプロパティに格納されています)。
私のテストの目的は、私が32ビットデバイス上で64ビットの値を正しく処理していることを保証することです。
32ビットマシンと64ビットマシンで異なる長さの型( 'Int' /' NSInteger'など)を避けると、安全です。プリミティブでは、固定長の型を使用します( 'Int64'など)。 – vadian