int型、float型、long型等都是objective-c语言中的基本数据类型,严格的说它们不是对象(不能向他们发送消息)。然而,有时需要将这些值作为对象使用。比如,使用Foundation的NSArray对象创建一个数组,它要求存储的值必须是对象,因此,不能将任何基本数据类型直接存储到数组中。
如果需要存储基本数据类型(包括char数据类型),可以使用NSNumber类,它会依据这些数据的类型创建对象。
每种基本数据类型都有三个常用方法,以int型为例它们是:
NSNumber类方法创建对象:
NSNumber
*intNumber = [
NSNumber
numberWithInt
:
100
];
或者用实例方法创建对象:
NSNumber
*intNumber = [[
NSNumber
alloc
]
initWithInt
:
100
];
获取实例中的值:
NSInteger myInt = [intNumber integerValue];
(注意:NSInteger不是一个对象而是int类型的typedef)
同理,char、short、long、double、float、bool等基本数据类型都有同样的方法。