objectiveC的class返回了-(id)

在C#中,如果初始化类会返回它本身,比如:

public class MyClass{
  public int Id;
  public string Name;
}

MyClass classInstance = new MyClass();
:
:

我知道C#与objective不一样,但是我不明白objective-c是怎么转换的。我发现如果OC创建一个方法,不会返回本身,而是返回一个id?比如:

- (id)initWithID:(NSInteger)id name:(NSString *)name
{
    self = [self init];
    if (self) {
        self.ID = id;
        self.name = name;
    }
    return self;
}

很难理解,谢谢指点。

http://www.it165.net/pro/html/201501/31204.html

http://www.2cto.com/kf/201211/168418.html
http://blog.sina.com.cn/s/blog_6b1e4a0601019oqm.html
看看这些

id是任意类,instancetype才是主流。这个只是从拉萨市O分(self)的简单方法罢了,相当于语法糖