Swift文档明确指出. Unlike Objective-C initializers, Swift initializers do not return a value. 请解释下面的语法. let instanceOfString = String() 它通过调用初始化程序并返回它来初始化String对象.值被赋值给
Unlike Objective-C initializers, Swift initializers do not return a
value.
请解释下面的语法.
let instanceOfString = String()
它通过调用初始化程序并返回它来初始化String对象.值被赋值给instanceOfString.不是吗?
swift文档引用了类型的init方法的语法.语法省略了签名中的返回类型,该方法通常不包含return语句:
init() { }
显然,初始化程序(String())的调用确实返回一个值.与Objective-C的不同之处在于,纯Swift类型中的init方法不能自由地返回与方法目标不同的对象 – 它始终是目标类型的隐式分配实例.
唯一的例外是可以在可用的初始值设定项中返回nil.