1 id id和void *并非完全一样.在上面的代码中,id是指向struct objc_object的一个指针,这个意思基本上是说,id是一个指向任何一个继承了Object(或者NSObject)类的对象.需要注意的是id是一个指针,所以你在使用id的时候不需要加星号.比如id foo=nil定义了一个nil指针,这个指针指向NSObject的一个任意子类.而id *foo=nil则定义了一个指针,这个指针指向另一个指针,被指向的这个指针指向NSObject的一个子类. 2 nil nil和…