web-dev-qa-db-ja.com

SwiftのIntとInt32の違いは何ですか?

Core Data保存できますInt16Int32Int64ただし、Intとは異なります。それらが存在する理由は何ですか、どのように使用しますか?

42
János

Swift Documentation

Int

ほとんどの場合、コードで使用するために特定のサイズの整数を選択する必要はありません。 Swiftは、現在のプラットフォームのネイティブWordサイズと同じサイズの追加の整数型Intを提供します。

32ビットプラットフォームでは、IntはInt32。と同じサイズです

64ビットプラットフォームでは、IntはInt64と同じサイズです。

特定のサイズの整数を使用する必要がない限り、コードの整数値には常にIntを使用してください。これにより、コードの一貫性と相互運用性が向上します。 32ビットプラットフォームでも、Intは-2,147,483,648〜2,147,483,647の任意の値を格納でき、多くの整数範囲に十分な大きさです。

70
Jørgen R

「Int」の後に配置される数字は、使用するビット数への参照です。特定のパラメーターに続くリスト内のオブジェクトの数のように、本当に短いかほとんど不要なものにintを使用している場合、通常、最大値256(2)の整数であるUInt8を使用します^ 8)、および符号なしであるため、最小値0(これはUInt8とInt8の違いです)。署名されている場合(または変数の前に「U」が付いていない場合)は、負になる場合があります。 Int16、Int32、およびInt64についても同様です。小さいサイズのInt型を使用した場合のボーナスはそれほど大きくないため、必要ない場合は実際に使用する必要はありません。

3
C1FR1

32ビットプラットフォームでは、IntはInt32と同じサイズであり、64ビットプラットフォームでは、IntはInt64と同じサイズです。

  • Int32:4バイト:−2147483648から+2147483647まで
  • Int64:8バイト:-9223372036854775808から+9223372036854775807まで

http://iossupportmatrix.com/ の非常に優れたマトリックスで、特定のデバイスのプロセッサーArchを見つけることができます。

たとえば、あなたが作る場合

Int(Date().timeIntervalSince1970 * 1000)

IPhone 5(32ビットArch)で致命的なエラーがスローされます:Thread 1: Fatal error: Double value cannot be converted to Int because the result would be greater than Int.max。ただし、iPhone 5S(62ビットArch)ではすべて問題ありません。

enter image description here

続きを読む こちら

0
yoAlex5