1. 我们来看看id的定义,它就是一个指针,它可以指向的类型不仅限于NSObject
[代码]c#/cpp/oc代码:
1 | typedef struct objc_class *Class; |
2 | typedef struct objc_object { |
3 | Class isa; |
4 | } *id; |
2. NSObject*就是 NSObject类型的指针了,它范围较小。
3. id<NSObject>是指针,它要求它指向的类型要实现NSObject protocol,