【Foundation-86-3】#import <Foundation/NSValue.h> 初始化

来源:互联网 发布:在淘宝买衣服好吗 编辑:程序博客网 时间:2024/06/15 12:03



@interface NSNumber : NSValue


- (instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;


//实例方法 初始化

- (NSNumber *)initWithChar:(char)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithUnsignedChar:(unsigned char)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithShort:(short)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithUnsignedShort:(unsigned short)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithInt:(int)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithUnsignedInt:(unsigned int)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithLong:(long)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithUnsignedLong:(unsigned long)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithLongLong:(long long)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithUnsignedLongLong:(unsigned long long)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithFloat:(float)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithDouble:(double)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithBool:(BOOL)value NS_DESIGNATED_INITIALIZER;

- (NSNumber *)initWithInteger:(NSInteger)value NS_AVAILABLE(10_5, 2_0) NS_DESIGNATED_INITIALIZER;

//64 推荐使用,其他少用

- (NSNumber *)initWithUnsignedInteger:(NSUInteger)value NS_AVAILABLE(10_5, 2_0) NS_DESIGNATED_INITIALIZER;



//获取数据

@property (readonlychar charValue;

@property (readonlyunsigned char unsignedCharValue;

@property (readonlyshort shortValue;

@property (readonlyunsigned short unsignedShortValue;

@property (readonlyint intValue;

@property (readonlyunsigned int unsignedIntValue;

@property (readonlylong longValue;

@property (readonlyunsigned long unsignedLongValue;

@property (readonlylong long longLongValue;

@property (readonlyunsigned long long unsignedLongLongValue;

@property (readonlyfloat floatValue;

@property (readonlydouble doubleValue;

@property (readonlyBOOL boolValue;

@property (readonlyNSInteger integerValue NS_AVAILABLE(10_5, 2_0);//64 推荐使用,其他少用

@property (readonlyNSUInteger unsignedIntegerValue NS_AVAILABLE(10_5, 2_0);




@property (readonlycopyNSString *stringValue;//nsnumber 变成字符串

    NSNumber *strNumber = [NSNumber numberWithInteger:3];    NSString *str = [strNumber stringValue];    NSLog(@"%@",str);




- (NSComparisonResult)compare:(NSNumber *)otherNumber;//比较,排序用

    NSNumber *number1 = [NSNumber numberWithInteger:13];    NSNumber *number2 = [NSNumber numberWithInteger:14];        NSComparisonResult result = [number1 compare:number2];        if (result == NSOrderedAscending) {        NSLog(@"升序");//number2 比 number1 大    }else if (result == NSOrderedSame){        NSLog(@"一致");    }else if (result == NSOrderedDescending){        NSLog(@"降序");    }else{        NSLog(@"error");    }



- (BOOL)isEqualToNumber:(NSNumber *)number;//判断是否一致

    NSNumber *number1 = [NSNumber numberWithInteger:13];    NSNumber *number2 = [NSNumber numberWithInteger:14];            if ([number1 isEqualToNumber:number2]) {        NSLog(@"same");    }else{        NSLog(@"nonono");    }




- (NSString *)descriptionWithLocale:(id)locale;//本地化的字符串,规范化。继续研究  NSLocale

    NSNumber *number2 = [NSNumber numberWithInteger:1314];          NSString *string = [number2 descriptionWithLocale:[NSLocale currentLocale]];        NSLog(@"%@",string);


@end







@interface NSNumber (NSNumberCreation)

//类方法初始化

+ (NSNumber *)numberWithChar:(char)value;

+ (NSNumber *)numberWithUnsignedChar:(unsigned char)value;

+ (NSNumber *)numberWithShort:(short)value;

+ (NSNumber *)numberWithUnsignedShort:(unsigned short)value;

+ (NSNumber *)numberWithInt:(int)value;

+ (NSNumber *)numberWithUnsignedInt:(unsigned int)value;

+ (NSNumber *)numberWithLong:(long)value;

+ (NSNumber *)numberWithUnsignedLong:(unsigned long)value;

+ (NSNumber *)numberWithLongLong:(long long)value;

+ (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value;

+ (NSNumber *)numberWithFloat:(float)value;

+ (NSNumber *)numberWithDouble:(double)value;

+ (NSNumber *)numberWithBool:(BOOL)value;

+ (NSNumber *)numberWithInteger:(NSInteger)value NS_AVAILABLE(10_5, 2_0);

+ (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value NS_AVAILABLE(10_5, 2_0);


@end



0 0
原创粉丝点击