init方法中的(id)含义是什么?

时间:2012-07-07 07:07:17

标签: objective-c ios

  

可能重复:
  What is the meaning of id?

我是Ios编程的新手。

我看到了以下声明

- (id)init

(id)在这里意味着什么?

4 个答案:

答案 0 :(得分:5)

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

- (id)init

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


但你应该真的,真的谷歌一个Objetive-C教程并阅读它。对于没有阅读教程或其他文档的没有理由,这是一个基本的东西。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

它为'id'类型的原因是-init方法从NSObject一直继承(在objective-C中你不能重载方法,因此你不能改变参数/重转值类型当子类化时)。由于'id'适用于任何对象,因此没问题。

编辑似乎将具体类指定为-init的返回类型即可,即使您最终覆盖了' - [NSObject init]'。

我想使用'id'只是一个习惯?

“id”作为“通用Objective-C对象指针”接受任何对象类型的事实保持不变。

答案 3 :(得分:-1)

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

可能的重复 What's the -(id)init method good for?