NSNumberとは
NSNumberは数値を格納するオブジェクトです。数値はそのままだとNSArrayやNSDictionaryに格納することができませんが、 一度NSNumberに格納してオブジェクトとして扱えるようにしてしまえば、格納することが出来るようになります。 格納した値を取り出すときには別の型で取り出すことも可能です。数値の型はC言語にあるものは全てあります。
代表的なメソッド(目的別)
BOOL型の変数からNSNumberオブジェクトを作りたい - initWithBool:
int型の整数からNSNumberオブジェクトを作りたい - initWithInt:
float型の変数からNSNumberオブジェクトを作りたい - initWithFloat:
double型の変数からNSNumberオブジェクトを作りたい - initWithDouble:
NSNumberオブジェクトからBOOL型の変数を作りたい - boolValue:
NSNumberオブジェクトからint型の整数を作りたい - intValue:
NSNumberオブジェクトからfloat型の変数を作りたい - floatValue:
NSNumberオブジェクトからdouble型の変数を作りたい - doubleValue:
NSNumberオブジェクトをNSString(文字列)に変換したい - stringValue;
NSNumberオブジェクト内の値が他のNSNumberオブジェクトと同じか知りたい - isEqualToNumber:
BOOL型の変数からNSNumberオブジェクトを作りたい - initWithBool:
- (id)initWithBool:(BOOL)value
BOOL型の変数を格納したNSNumberオブジェクトを作ります。
NSNumber *number = [[NSNumber alloc] initWithBool:YES];
int型の整数からNSNumberオブジェクトを作りたい - initWithInt:
- (id)initWithInt:(int)value
int型の変数を格納したNSNumberオブジェクトを作ります。
NSNumber *number = [[NSNumber alloc] initWithInt:1];
float型の変数からNSNumberオブジェクトを作りたい - initWithFloat:
- (id)initWithFloat:(float)value
float型の変数を格納したNSNumberオブジェクトを作ります。
NSNumber *number = [[NSNumber alloc] initWithfloat:1.1];
double型の変数からNSNumberオブジェクトを作りたい - initWithDouble:
- (id)initWithDouble:(double)value
double型の変数を格納したNSNumberオブジェクトを作ります。
NSNumber *number = [[NSNumber alloc] initWithDouble:1.23456789];
NSNumberオブジェクトからBOOL型の変数を作りたい - boolValue:
- (BOOL)boolValue
NSNumberオブジェクトからBOOL型の変数を作ります。以下の例ではNSNuberオブジェクトであるnumberからBOOL型の変数を作っています。
BOOL aBool = [number boolValue];
NSNumberオブジェクトからint型の整数を作りたい - intValue:
- (int)intValue
NSNumberオブジェクトからint型の整数を作ります。以下の例ではNSNuberオブジェクトであるnumberからint型の整数を作っています。
int i = [number intValue];
NSNumberオブジェクトからfloat型の変数を作りたい - floatValue:
- (float)floatValue
NSNumberオブジェクトからfloat型の変数を作ります。以下の例ではNSNuberオブジェクトであるnumberからfloat型の変数を作っています。
float f = [number floatValue];
NSNumberオブジェクトからdouble型の変数を作りたい - doubleValue:
- (double)doubleValue
NSNumberオブジェクトからdouble型の変数を作ります。以下の例ではNSNuberオブジェクトであるnumberからdouble型の変数を作っています。
double d = [number doubleValue];
NSNumberオブジェクトをNSString(文字列)に変換したい - stringValue;
- (NSString *)stringValue
NSNumberオブジェクトからNSStringオブジェクトを作ります。以下の例ではNSNuberオブジェクトであるnumberからNSStringオブジェクトを作っています。
NSString *str = [number stringValue];
NSNumberオブジェクト内の値が他のNSNumberオブジェクトと同じか知りたい - isEqualToNumber:
- (BOOL)isEqualToNumber:(NSNumber *)aNumber
NSNumberオブジェクトの中にある値が他のNSNumberオブジェクトの中の値と同じ場合にYESが、違う場合にはNOが返ります。下の例ではequalにYESが返ります。
NSNumber *number1 = [[NSNumber alloc] initWithInt:1000];
NSNumber *number2 = [[NSNumber alloc] initWithInt:1000];
BOOL equal = [number1 isEqualToNumber:number2];
[number1 release];
[number2 release];