【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方法执行初始化
NSNumber* ch = [[NSNumber alloc] initWithChar:'b'];
        NSLog(@"%@",[ch class]);
// 直接输出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




原文地址:https://www.cnblogs.com/shujucn/p/7481466.html