答案 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被调用来初始化对象内部的变量并进行任何必要的设置(它基本上就是构造函数)。