跟其他面相對象語言一樣,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;
}