参考解答
id
id和void *并非完全一样。在上面的代码中,id是指向struct objc_object的一个指针,这个意思基本上是说,id是一个指向任何一个继承了Object(或者NSObject)类的对象。需要注意的是id是一个指针,所以你在使用id的时候不需要加星号。比如id foo=nil定义了一个nil指针,这个指针指向NSObject的一个任意子类。而id *foo=nil则定义了一个指针,这个指针指向另一个指针,被指向的这个指针指向NSObject的一个子类。
nil
nil和C语言的NULL相同,在objc/objc.h中定义。nil表示一个Objctive-C对象,这个对象的指针指向空(没有东西就是空)。
相似问题
iOS有没有垃圾回收?
iOS有没有垃圾回收?
为什么要有同源限制?
为什么要有同源限制?
ViewController的didReceiveMemoryWarning是在什么时候调用的?默认
ViewController的didReceiveMemoryWarning是在什么时候调用的?默认的操作是什么?
GET 和 POST 的区别是什么?何时使用 POST?
GET 和 POST 的区别是什么?何时使用 POST?
Flash Ajax 各自的优缺点有哪些?在使用中如何取舍?
Flash、Ajax 各自的优缺点有哪些?在使用中如何取舍?
