ios - NSObject 中 - (id)init 的用途是什么

标签 ios objective-c object nsobject

今天我浏览了一些在线代码,发现了一些 NSObject 类。

有些人有:

- (id)init
 {  
      self = [super init];

      return self;
 
 }

有些人没有。

然后我也在我的示例代码中尝试了这个。我完全糊涂了。在此之前,我在想我们必须编写 -(id)init 方法来实例化一个 NSObject 类。但现在没有它也能正常工作。

以下是我的一些疑惑:

  1. is -(id)init method really necessary?

  2. What happens if we don't use it.

  3. If we don't write init method even then my code works. Why?

最佳答案

拥有一个空的 -init 绝对没有任何作用。

NSObject 已经有 -init 方法。 Objective-C 中的方法是继承的。

这与覆盖任何其他方法一样,只需调用 super:

- (void)someMethod {
    [super someMethod];
}

关于ios - NSObject 中 - (id)init 的用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34705366/

相关文章:

javascript - 通过 JSON 文件创建大型客户端 Javascript 对象数组的替代方案?

javascript - 在js中将对象推送到数组

ios - 以编程方式快速更改 Xib 高度

ios - 以时间间隔执行选择器

iphone - CGContextClipToMask 不剪裁

ios - 如何搜索对象数组并仅返回 objective-c 中具有特定 uid 的对象

ios - 使用自动布局在 Storyboard 中分辨率不可知的相同大小的元素

ios - Swift 3 创建一个 NSNumber 对象

ios - OpenCV iOS - 预期标识符(MACRO)

objective-c - Switch 语句常量问题