Swift 中的构造函数

Posted

技术标签:

【中文标题】Swift 中的构造函数【英文标题】:Constructors in Swift 【发布时间】:2018-01-03 08:22:53 【问题描述】:

我需要一些关于 swift 构造函数的帮助。很抱歉,如果这个问题不正确或重复,但我没有在其他链接中找到我的问题的答案。所以,我有课

class myClass 
  override init()
    print("Hello World")
  

我还有一门课

class anotherClass 
 let variable = myClass()
 

有人可以更正这段代码吗?因为它给了我错误。我不知道如何用 Swift 解释我的问题,因为我是新手。但我会尝试解释一下,我想说的是,当我创建“myClass”类的对象时,首先构造函数应该工作并打印“Hello World”。谢谢!

【问题讨论】:

说你遇到了一个错误是相当无益的,然后不要说错误是什么。 摆脱override。你没有压倒任何东西。类名应以大写字母开头。 去掉第一类中的override关键字。与 ObjC 中所有类最终都继承自 NSObject 不同,Swift 类根本没有超类。你没有覆盖任何东西 【参考方案1】:

您的 init 方法不应包含 override 关键字,因为它不是子类:

class myClass 
  init()
    print("Hello World")
  

如果你的类是一个子类,你必须在你的 init() 方法中调用 super.init()

【讨论】:

以上是关于Swift 中的构造函数的主要内容,如果未能解决你的问题,请参考以下文章

Swift构造函数和便利构造函数

Swift 构造函数

swift学习第十三天:类的构造函数

删除存储在类构造函数 SWIFT 3 中的所有数据

《从零开始学Swift》学习笔记(Day43)——构造函数继承

《从零开始学Swift》学习笔记(Day 42)——构造函数调用规则