跟其他面相对象语言一样,OC可以把基本数据类型封装成为类,这样能够做到更多地事情,扩展性能强.
同时也提供了封装类还原成为基本数据类型的方法.
例子:
//
// main.m
// Foundation-NSNumber
//
// Created by 5016 on 13-12-11.
// Copyright (c) 2013年 dradon. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
//NSNumber类把基本数据类型包装成为类
// - (char)charValue;
// - (unsigned char)unsignedCharValue;
// - (short)shortValue;
// - (unsigned short)unsignedShortValue;
// - (int)intValue;
// - (unsigned int)unsignedIntValue;
// - (long)longValue;
// - (unsigned long)unsignedLongValue;
// - (long long)longLongValue;
// - (unsigned long long)unsignedLongLongValue;
// - (float)floatValue;
// - (double)doubleValue;
// - (BOOL)boolValue;
// - (NSInteger)integerValue NS_AVAILABLE(10_5, 2_0);
// - (NSUInteger)unsignedIntegerValue NS_AVAILABLE(10_5, 2_0);
//创建一个NSNumber对象
NSNumber *mon = [NSNumber numberWithInt:12];
NSNumber *length = [NSNumber numberWithFloat:1.72];
NSLog(@"mon=%@ ; length = %@",mon,length);
//还原成为基本数据类型
// - (char)charValue;
// - (unsigned char)unsignedCharValue;
// - (short)shortValue;
// - (unsigned short)unsignedShortValue;
// - (int)intValue;
// - (unsigned int)unsignedIntValue;
// - (long)longValue;
// - (unsigned long)unsignedLongValue;
// - (long long)longLongValue;
// - (unsigned long long)unsignedLongLongValue;
// - (float)floatValue;
// - (double)doubleValue;
// - (BOOL)boolValue;
// - (NSInteger)integerValue NS_AVAILABLE(10_5, 2_0);
// - (NSUInteger)unsignedIntegerValue NS_AVAILABLE(10_5, 2_0);
// - (NSString *)stringValue;
int month = [mon intValue];
float len = [length floatValue];
NSLog(@"mon=%d ; length = %f",month,len);
}
return 0;
}