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)valueBOOL型の変数を格納したNSNumberオブジェクトを作ります。
NSNumber *number = [[NSNumber alloc] initWithBool:YES];int型の整数からNSNumberオブジェクトを作りたい - initWithInt:
- (id)initWithInt:(int)valueint型の変数を格納したNSNumberオブジェクトを作ります。
NSNumber *number = [[NSNumber alloc] initWithInt:1];float型の変数からNSNumberオブジェクトを作りたい - initWithFloat:
- (id)initWithFloat:(float)valuefloat型の変数を格納したNSNumberオブジェクトを作ります。
NSNumber *number = [[NSNumber alloc] initWithfloat:1.1];double型の変数からNSNumberオブジェクトを作りたい - initWithDouble:
- (id)initWithDouble:(double)valuedouble型の変数を格納したNSNumberオブジェクトを作ります。
NSNumber *number = [[NSNumber alloc] initWithDouble:1.23456789];NSNumberオブジェクトからBOOL型の変数を作りたい - boolValue:
- (BOOL)boolValueNSNumberオブジェクトからBOOL型の変数を作ります。以下の例ではNSNuberオブジェクトであるnumberからBOOL型の変数を作っています。
BOOL aBool = [number boolValue];NSNumberオブジェクトからint型の整数を作りたい - intValue:
- (int)intValueNSNumberオブジェクトからint型の整数を作ります。以下の例ではNSNuberオブジェクトであるnumberからint型の整数を作っています。
int i = [number intValue];NSNumberオブジェクトからfloat型の変数を作りたい - floatValue:
- (float)floatValueNSNumberオブジェクトからfloat型の変数を作ります。以下の例ではNSNuberオブジェクトであるnumberからfloat型の変数を作っています。
float f = [number floatValue];NSNumberオブジェクトからdouble型の変数を作りたい - doubleValue:
- (double)doubleValueNSNumberオブジェクトからdouble型の変数を作ります。以下の例ではNSNuberオブジェクトであるnumberからdouble型の変数を作っています。
double d = [number doubleValue];NSNumberオブジェクトをNSString(文字列)に変換したい - stringValue;
- (NSString *)stringValueNSNumberオブジェクトからNSStringオブジェクトを作ります。以下の例ではNSNuberオブジェクトであるnumberからNSStringオブジェクトを作っています。
NSString *str = [number stringValue];NSNumberオブジェクト内の値が他のNSNumberオブジェクトと同じか知りたい - isEqualToNumber:
- (BOOL)isEqualToNumber:(NSNumber *)aNumberNSNumberオブジェクトの中にある値が他の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];