在swift中方便关键字真的必要吗?

在swift中方便关键字真的必要吗?,swift,initializer,convenience-methods,Swift,Initializer,Convenience Methods,swift中的便利关键字完全把我弄糊涂了。它似乎一点用都没有。在同一类或超类中调用其他初始值设定项(或者说构造函数)是面向对象语言(如Java、C#等)中非常常见的功能。如果任何成员未初始化,编译器将发出警告。它所做的唯一事情似乎是将对其他初始值设定项的调用限制在同一个类中,这使得它看起来更无用。那么,为什么要费心用这个关键词呢 我在网上看到一些其他的帖子在讨论这个问题,但没有一条是真正令人信服的 有人知道这个关键字的真正用途吗?来自Swift编程语言: 如果类不需要,则不必提供方便的初始值设定

swift中的便利关键字完全把我弄糊涂了。它似乎一点用都没有。在同一类或超类中调用其他初始值设定项(或者说构造函数)是面向对象语言(如Java、C#等)中非常常见的功能。如果任何成员未初始化,编译器将发出警告。它所做的唯一事情似乎是将对其他初始值设定项的调用限制在同一个类中,这使得它看起来更无用。那么,为什么要费心用这个关键词呢

我在网上看到一些其他的帖子在讨论这个问题,但没有一条是真正令人信服的

有人知道这个关键字的真正用途吗?

来自Swift编程语言

如果类不需要,则不必提供方便的初始值设定项。只要公共初始化模式的快捷方式可以节省时间或使类的初始化更清晰,就可以创建方便的初始值设定项

因此,基本上,它们是为了方便。

来自Swift编程语言:

如果类不需要,则不必提供方便的初始值设定项。只要公共初始化模式的快捷方式可以节省时间或使类的初始化更清晰,就可以创建方便的初始值设定项


因此,基本上,它们是为了方便。

这说明了为什么方便初始值设定项是可选的,但没有说明为什么需要
便利
关键字。@Ssswift,你说“必需”是什么意思?您可以自由地避免使用它们,也可以从不使用。您可以自由地避免使用方便的初始值设定项,但如果您想创建方便的初始值设定项,则需要在源文件中键入单词
convency
。没有其他语言要求这样。这就是问题所在。语法,而不是功能。Ssswift明白我的意思了。如果它是可选的,并且在其他语言中不使用关键字也可以实现同样的功能,那么为什么还要麻烦使用它呢?我发现objective-c和swift中的一些语法确实不必要且过于复杂。这说明了为什么便利初始值设定项是可选的,而不是为什么需要
便利
关键字。@Ssswift,你说“必需”是什么意思?您可以自由地避免使用它们,也可以从不使用。您可以自由地避免使用方便的初始值设定项,但如果您想创建方便的初始值设定项,则需要在源文件中键入单词
convency
。没有其他语言要求这样。这就是问题所在。语法,而不是功能。Ssswift明白我的意思了。如果它是可选的,并且在其他语言中不使用关键字也可以实现同样的功能,那么为什么还要麻烦使用它呢?我发现objective-c和swift中的一些语法实际上是不必要的,而且过于复杂。Rob,我已经在我的原始文本中解释了为什么我要把它作为一个新问题开始。现有问题的答案在我看来都没有说服力。如果我只是给他们添加评论,我想我不会得到一个好的答案。所以,我决定把这个问题作为一个新问题来问。罗布,我已经在我的原始文本中解释了为什么我把这个问题作为一个新问题来开始。现有问题的答案在我看来都没有说服力。如果我只是给他们添加评论,我想我不会得到一个好的答案。所以,我决定把这当作一个新问题来问。