iOS 4.1中的NSCFNumber类是什么?

时间:2010-12-05 02:39:47

标签: iphone ios nsnumber

在iOS 4.1上成功从iPhone相机获取图片后,您可以使用密钥

@"UIImagePickerControllerMediaMetadata"

返回有关图片的信息。该词典中的一个关键是

@"Orientation"

从我的实验来看,肖像和颠倒分别是6和8,景观分别是1和3.看看这段代码:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    NSDictionary *metaData = [info objectForKey:@"UIImagePickerControllerMediaMetadata"];
    id orientation = [metaData objectForKey:@"Orientation"];
    NSLog(@"Class: %@",[orientation class]);

NSLog说“Class:NSCFNumber”

我需要比较这个对象的值来确定如何继续。横向是1或3,纵向是6或8.我不确定要键入方向或调用什么。 NSNumber和NSInteger总是告诉我,我正在使用没有强制转换的指针制作整数。

谢谢你的时间!

2 个答案:

答案 0 :(得分:35)

这告诉您方向是NSNumber的实例。从技术上讲,NSCFNumberNSNumber的私有子类,但这是一个您不必担心的实现细节。要获得整数值,您可以调用

[orientation integerValue]

答案 1 :(得分:6)

NSNumber是一个类集群。 NSCFNumber是该集群中类的具体“私有”实现。只需使用返回的值,就像使用NSNumber对象一样。