iOSとmacOSの間でデータをクロスプラットフォームで共有するアプリケーションを開発しています。私はモデルをファイルにシリアライズするためにNSCodingを使用しています。私のデータモデルの特定のプロパティはInt型です。以下は、iOSとMacOSの両方で実行されるコードのセクションです:iOSとmacOS間のInt値の比較
class MyDataModel: NSObject, NSCoding {
struct Keys {
static let myNumber = "myNumber"
}
var myNumber: Int = 0
required init(coder aCoder: NSCoder) {
super.init()
myNumber = aDecoder.decodeInteger(PropertyKey.nameKey)
}
fun encode(with aCoder: NSCoder) {
aCoder.encodeInteger(myNumber, forKey: PropertyKey.ratingKey)
}
}
質問がされ、私はiCloud上のファイルへのiOS上でこの整数を保存し、ファイルを開いて、MacOSの上でデコードした場合になりますデータは同じままですか?私はInt
がこれら2つのプラットフォーム上で異なって解釈されるという噂を聞いたことがある。私は文字列として自分の整数を格納し、整数にキャストすることも勧められました。誰かがこれが真実かどうかを確認できますか?
偉大な答え。これは、32ビットと64ビットのデバイスが原因であると考えられます。 – loyalpenguin