OC的基本数据类型和对象认识

1. OC的Foundation框架提供了很多对象类型,比如NSArray,NSDictionary,NSDate,NSNumber等等,还包括一些基础数据类型(int,float,double等);

2. OC中提供的包装类是NSNumber, NSValue。其中NSNumber继承于NSValue,因此也继承于NSObject。NSNumber主要针对于基本数据类型的包装,NSValue主要针对结构体进行包装。将包装成NSNumber或NSValue对象类型后存放在数组中, 然后从集合类中取出NSNumber、NSValue对象再转换成为基本数据类。

3.Xcode编译器新特性支持 @[(基本数据类型)]方式,可以直接将基本数据类型转换称为NSNumber对象类型。所以将int,double等基本数据类型直接转换就是在前面加@,如果是变量就用()将变量括起来。但是负数通常还是用()括起来。

4.id类型

(1).在OC中最普遍的3种类型就是id、Class和SEL, id就是指向OC对象的指针,它等价于C语言中的void *,可以映射任何对象指针类型指向它,或者映射它指向其他的对象。当然,也可以传递任何消息给id,但如果该id不支持这个消息就会返回一个运行时异常。(2).id数据类型可存储任何类型的对象。从某种意义上说,它是一般对象类型。如果要用基本类型代替,需要对基本数据类型进行封装。(3).id是一个指向任何一个继承了Object(或者NSObject)类的对象。需要注意的是,id是一个指针,所以在使用id的时候不需要加星号。例如:id foo = nil;(4).在OC中,id取代了int类型成为默认的数据类型(在C语言上的函数返回值,int是默认的返回类型)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,814评论 0 9
  • 既然要想分析清楚基本数据类型与对象类型之间的转换,首先就要整理一下OC中都有什么是基本数据类型,什么是对象类型, ...
    我是姑姑思密达阅读 6,251评论 0 7
  • 一、深复制和浅复制的区别? 1、浅复制:只是复制了指向对象的指针,即两个指针指向同一块内存单元!而不复制指向对象的...
    iOS_Alex阅读 1,443评论 1 27
  • 1. 使用 #import 相对c的 include 是防止头文件的重复导入 2. NSLog 相对于 print...
    迎风起飞的猪阅读 1,790评论 6 9
  • 正如尺有所短,寸有所长,每个人都有自己的优缺点。关键是我们怎么去观察那个人。 韩忠俊,是我们班极...
    打灯笼的小星星阅读 927评论 1 3