【问题标题】:Init in Swift language用 Swift 语言初始化
【发布时间】:2016-08-19 22:31:45
【问题描述】:

我读到了

初始化

在 Swift 中不返回值,那为什么我可以这样写:

var str = String.init("mystring")

【问题讨论】:

  • 严格来说不返回值是错误的。 init 函数确实返回实例,但你不能像在 Objective-C 中那样显式返回 self

标签: swift initialization init


【解决方案1】:

函数 init 没有返回你是对的,但在这种情况下,你只是让一个变量等于用“hello”初始化的结构字符串

同理:

var class = someClass()

() 是一个没有参数的初始化函数。

【讨论】:

  • 谢谢,您能否提供其他不返回值时使用 init 的示例?
  • 几乎任何时候你在不是函数的东西上看到 () 时,它都是一个 init 调用。因此,例如 AVAudioPlayer() 甚至 [String]()
  • 在这些情况下,您需要将初始化的实例分配给一个变量,否则它在内存中没有位置。变量是类或对象等的实例,init 调用没有返回任何内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
相关资源
最近更新 更多