id 在 Objective-C 中,对象标识符是一种不同的数据类型:id。这种类型是任何类型的对象的通用类型,无论类如何,并且可以用于类的实例和类对象本身。
id anObject;
到这里它简单明了
对于 Objective-C 的面向对象构造,例如方法返回值,id 替换 int 作为默认数据类型。(对于严格的 C 构造,例如函数返回值,int 仍然是默认类型。)
不明白它所说的 id 取代 int 是什么?并且在最后一个括号内的 int 仍然是默认值?
关键字nil被定义为一个空对象,一个值为0的id。id、nil以及Objective-C的其他基本类型在头文件objc/objc.h中定义。
id 被定义为指向对象数据结构的指针:
typedef struct objc_object {
Class isa;
} *id;
以上不是 obj-c 语法它是什么以及它在解释什么?
因此,每个对象都有一个 isa 变量,告诉它它是什么类的实例。由于 Class 类型本身定义为指针:
typedef struct objc_class *Class;
isa 变量通常被称为“isa 指针”。</p>
最后一段也没看懂。