1

可能重复:
id 是什么意思?

我是 iOS 编程的新手。

我看到了以下声明

- (id)init

(id) 在这里是什么意思?

4

4 回答 4

6

id表示与任何对象兼容的类型。符号

- (id)init

表示init你的类的实例方法;通常它用于在内存分配后初始化实例化对象(通常使用完成alloc)。在 Objective-C 中,方法的返回类型是通过将类型放在方法名称之前的括号中来声明的。因此,这意味着该init方法可以返回任何 Objective-C 对象。


但是你真的应该用谷歌搜索 Objetive-C 教程并阅读它。这是一个基本的事情,没有理由不阅读教程或其他文档。

于 2012-07-07T07:41:22.227 回答
1

id是表示 Objective-C 对象的普通 C 兼容类型。这允许 C 源代码存储 Objective-C 对象并与之交互。

于 2012-07-07T07:10:27.217 回答
0

它是 'id' 类型的原因是 -init 方法从 NSObject 一直继承(在 Objective-C 中,您不能重载方法,因此子类化时不能更改参数/返回值类型) . 由于“id”适用于任何对象,这没关系。

编辑似乎指定一个具体的类作为 -init 的返回类型是可以的,即使你最终覆盖了'-[NSObject init]'。

我猜“id”的使用只是一种习惯?

不过,'id' 充当“通用 Objective-C 对象指针”,在赋值时接受任何对象类型这一事实保持不变。

于 2012-07-07T07:56:35.933 回答
-1

-(id)init 被调用来初始化对象内的变量并进行任何必要的设置(它基本上是构造函数)。

可能的重复可能是 -(id)init 方法有什么用?

于 2012-07-07T07:10:27.350 回答