【问题标题】:Why is init not a class method?为什么 init 不是类方法?
【发布时间】:2013-03-31 21:21:54
【问题描述】:

为什么init 方法不是类方法?我的意思是init 的方法体以- 开头。 据我所知,以- 开头的方法是实例方法,但显然我们要创建一个实例。

【问题讨论】:

标签: objective-c cocoa foundation


【解决方案1】:

init 不适用于创建实例;那是alloc 的工作(而alloc 一个类方法)。

init 用于设置创建的实例。它需要访问新实例的 ivars,并且必须是一个实例方法。

【讨论】:

  • bikeshedding 的另一部分。我希望赞成票实际上与努力成正比。
  • 哦,对不起,@甲醇;我忘了你会收到该评论的通知。我正在向任何经过并感到不得不投票的人发表讲话。不,我的意思是我应该得到更少。这个答案花了我不到一分钟的时间来输入,我觉得它不值得七票。
  • 点赞数与答案的质量不成正比,而是与发布者的质量成正比。所以在这里你发挥作用。 :)
  • @AnoopVaidya:这正是它应该的。更多的声誉不应该直接导致更多的声誉。投票是关于内容,而不是人。
  • 在元数据中,我读到了对名人的过度投票,即使答案错误,他们(John Skeet)也获得了 +5 票:D
猜你喜欢
  • 2012-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-08
  • 2010-11-11
  • 1970-01-01
  • 2022-06-13
  • 1970-01-01
相关资源
最近更新 更多