【Object-C】包装类
NSInteger:long 类型
NSUInteger:unsigned long 类型
NSValue
NSNumber
#import <Foundation/Foundation.h>
int main(int argc
, char * argv[])
{
@autoreleasepool{
// 调用类方法将int类型的值包装成NSNumber对象
NSNumber* num = [[NSNumber alloc] initWithInt:28];
NSLog(@"%@" , [num class]);
// 调用类方法将double类型的值包装成NSNumber对象
NSNumber* de = [NSNumber numberWithDouble: 3.14];
NSLog(@"%d" , [num intValue]);
NSLog(@"%g" , [de doubleValue]);
// 先创建NSNumber对象,再调用initWithXxx方法执行初始化
{
@autoreleasepool{
// 调用类方法将int类型的值包装成NSNumber对象
NSNumber* num = [[NSNumber alloc] initWithInt:28];
NSLog(@"%@" , [num class]);
// 调用类方法将double类型的值包装成NSNumber对象
NSNumber* de = [NSNumber numberWithDouble: 3.14];
NSLog(@"%d" , [num intValue]);
NSLog(@"%g" , [de doubleValue]);
// 先创建NSNumber对象,再调用initWithXxx方法执行初始化
NSNumber* ch = [[NSNumber alloc] initWithChar:'b'];
NSLog(@"%@",[ch class]);
// 直接输出NSNumber对象,使用%@格式字符串
NSLog(@"%@" , ch);
// 直接输出NSNumber对象,使用%@格式字符串
NSLog(@"%@" , ch);
NSInteger m = 10 ;//相当于long 类型
NSLog(@"%li",m);
}
}
}
输出:
2014-11-28 18:13:15.872 NumberTest[2024:303] __NSCFNumber
2014-11-28 18:13:15.874 NumberTest[2024:303] 28
2014-11-28 18:13:15.875 NumberTest[2024:303] 3.14
2014-11-28 18:13:15.876 NumberTest[2024:303] __NSCFNumber
2014-11-28 18:13:15.876 NumberTest[2024:303] 98
2014-11-28 18:13:15.877 NumberTest[2024:303] 10
2014-11-28 18:13:15.874 NumberTest[2024:303] 28
2014-11-28 18:13:15.875 NumberTest[2024:303] 3.14
2014-11-28 18:13:15.876 NumberTest[2024:303] __NSCFNumber
2014-11-28 18:13:15.876 NumberTest[2024:303] 98
2014-11-28 18:13:15.877 NumberTest[2024:303] 10