從 「objc.h」:在Cocoa中,Class類是如何定義的?
typedef struct objc_class *Class;
但在 「runtime.h」:
struct objc_class {
Class isa;
#if !__OBJC2__
Class super_class OBJC2_UNAVAILABLE;
const char *name OBJC2_UNAVAILABLE;
long version OBJC2_UNAVAILABLE;
long info OBJC2_UNAVAILABLE;
long instance_size OBJC2_UNAVAILABLE;
struct objc_ivar_list *ivars OBJC2_UNAVAILABLE;
struct objc_method_list **methodLists OBJC2_UNAVAILABLE;
struct objc_cache *cache OBJC2_UNAVAILABLE;
struct objc_protocol_list *protocols OBJC2_UNAVAILABLE;
#endif
} OBJC2_UNAVAILABLE;
/* Use `Class` instead of `struct objc_class *` */
到底是什麼Class
?
'typedef'表明它是一個指向'struct objc_class'的指針,不是? – dasblinkenlight
@dasblinkenlight他可能對'Class'成爲'struct objc_class'成員感到困惑。 – trojanfoe
是的,我很困惑 - 請你能向我解釋它到底是什麼嗎?因爲我認爲這是兩個標題之間的循環引用。 –