NSNumber is a subclass of NSValue that offers a value as any C scalar (numeric) type. It defines a set of methods specifically for setting and accessing the value as a signed or unsigned char, short int, int, long int, long long int, float, or double or as a BOOL. (Note that number objects do not necessarily preserve the type they are created with.) It also defines a compare: method to determine the ordering of two NSNumber objects.NSNumberは、NSValueのサブクラスです、それは値を何らかのCスカラー(数値)型として提示します。それは一揃いのメソッドを定義します、とりわけ値への設定およびアクセスを、符号付きまたは符号無しのchar、short int、int、long int、long long int、float、またはdoubleとしてもしくはBOOLとして行うために。(数のオブジェクトは必ずしもそれらが作成されたところの型を保護する必要はないことに注意してください。)それはまたcompare:メソッドを定義して、2つのNSNumberオブジェクトの順番付けを決定します。
NSNumber is “toll-free bridged” with its Core Foundation counterparts: CFNumberRef for integer and floating point values, and CFBooleanRef for Boolean values. See Toll-Free Bridging for more information on toll-free bridging.NSNumberは、それのCore Foundation相当物と「トールフリーブリッジ」されます:整数および浮動小数点値に対してCFNumberRef、そしてブール値に対してCFBooleanRef。トールフリーブリッジに関する更なる情報としてtoll-free bridgingを見てください。
Value Conversions
値変換
NSNumber provides readonly properties that return the object’s stored value converted to a particular Boolean, integer, unsigned integer, or floating point C scalar type. Because numeric types have different storage capabilities, attempting to initialize with a value of one type and access the value of another type may produce an erroneous result—for example, initializing with a double value exceeding FLT_MAX and accessing its floatValue, or initializing with an negative integer value and accessing its unsignedIntegerValue. In some cases, attempting to initialize with a value of a type and access the value of another type may result in loss of precision—for example, initializing with a double value with many significant digits and accessing its floatValue, or initializing with a large integer value and accessing its charValue.NSNumberは、いくつかの読出し専用プロパティを提供します、それらはある特定のブール値、整数、符号無し整数、または浮動小数点Cスカラー型に変換された、オブジェクトのもつ格納値を返します。数値型それらが異なるストレージ容量を持ちうることから、ある型の値で初期化して別の型の値にアクセスを試みることは、間違った結果を生成するかもしれません — 例えば、double値で初期化してFLT_MAXを越えることおよびそれのfloatValueにアクセスすること、または負整数で初期化してそれのunsignedIntegerValueにアクセスすること。いくつかの場合には、ある型の値で初期化して別の型の値にアクセスを試みることは正確さを失う結果になるかもしれません — 例えば、多くの有効桁をもつdouble値で初期化してそれのfloatValueにアクセスする、または大きな整数で初期化してそれのcharValueにアクセスする。
An NSNumber object initialized with a value of a particular type accessing the converted value of a different kind of type, such as unsigned int and float, will convert its stored value to that converted type in the following ways:
ある特定の型の値で初期化されるNSNumberオブジェクトに、異なる種類の型の変換値、例えばunsigned intおよびfloatでアクセスすると、それの格納値をその変換値へと以下の方法で変換します:
Table 1 NSNumber from Boolean Value Conversions表 1 Boolean値からNSNumberに変換
As with any class cluster, subclasses of NSNumber must override the primitive methods of its superclass, NSValue. In addition, there are two requirements around the data type your subclass represents:
何らかのクラスクラスタでのように、NSNumberのサブクラスはそれのスーパークラス、NSValueの根本的メソッドをオーバーライドしなければなりません。加えて、あなたのサブクラスが表すデータ型を取り巻く2つの要件があります:
Your implementation of objCType must return one of “c”, “C”, “s”, “S”, “i”, “I”, “l”, “L”, “q”, “Q”, “f”, and “d”. This is required for the other methods of NSNumber to behave correctly.
あなたのobjCTypeの実装は、 “c”、“C”、“s”、“S”、“i”、“I”、“l”、“L”、“q”、“Q”、“f”、そして“d” の1つを返さなければなりません。これは、NSNumberの他のメソッドに振る舞いを正しくするよう要求します。
Your subclass must override the accessor method that corresponds to the declared type—for example, if your implementation of objCType returns “i”, you must override intValue.
Creates and returns an NSNumber object containing a given value, treating it as a signed char.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それを符号付きcharだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as a double.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それをdoubleだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as a signed int.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それを符号付きintだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as an NSInteger.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それをNSIntegerだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as a signed long.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それを符号付きlongだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as a signed long long.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それを符号付きlong longだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as an unsigned char.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それをunsigned charだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as an unsigned int.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それをunsigned intだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as an NSUInteger.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それをNSUIntegerだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as an unsigned long.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それをunsigned longだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as an unsigned long long.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それをunsigned long longだとみなしています。
Creates and returns an NSNumber object containing a given value, treating it as an unsigned short.
あるNSNumberオブジェクトを作成して返します、ある与えられた値を含んでいます、それをunsigned shortだとみなしています。
Initializing an NSNumber Object
NSNumberオブジェクトを初期化する
Returns an NSNumber object initialized to contain a given value, treated as an unsigned char.NSNumberオブジェクトを返します、与えられた値を、unsigned charとみなして含むよう初期化されます。
Returns an NSNumber object initialized to contain a given value, treated as an unsigned long.NSNumberオブジェクトを返します、与えられた値を、unsigned longとみなして含むよう初期化されます。
Returns an NSNumber object initialized to contain a given value, treated as an unsigned long long.NSNumberオブジェクトを返します、与えられた値を、unsigned long longとみなして含むよう初期化されます。
Returns an NSNumber object initialized to contain a given value, treated as an unsigned short.NSNumberオブジェクトを返します、与えられた値を、unsigned shortとみなして含むよう初期化されます。
Returns an NSComparisonResult value that indicates whether the number object’s value is greater than, equal to, or less than a given number.
あるNSComparisonResult値を返します、それは数オブジェクトのもつ値がある与えられた数より大きい、等しい、またはより小さいかを指し示します。
Returns a Boolean value that indicates whether the number object’s value and a given number are equal.
あるブール値を返します、それは数オブジェクトのもつ値とある与えられた数が等しいかどうかを指し示します。