Tag: 构造函数

在Swift中初始化时调用实例方法

我是新来的Swift,并想要使用像这样的实例方法初始化一个对象的成员variables: class MyClass { var x: String var y: String func createY() -> String { self.y = self.x + "_test" // this computation could be much more complex } init(x: String) { self.x = x self.y = self.createY() } } 基本上,我不是在init方法中内联所有的初始化代码,而是要将初始化代码y提取到专用方法createY并在init调用此实例方法createY 。 但是,Swift编译器(Xcode 6.3 beta中的Swift 1.2编译器)抱怨: 在super.init初始化自我之前,在方法调用“xxx”中使用'self' 这里'xxx'是实例方法(createY)的名称。 我可以理解Swift编译器在抱怨什么,以及它想要解决的潜在问题。 但是,我不知道如何解决这个问题。 在Swift中调用初始化代码的其他实例方法的正确方法是什么? 目前,我使用下面的技巧作为解决方法,但我不认为这是这个问题的习惯解决scheme(这个解决方法需要y被声明为使用var而不是let ,这也让我感到不安): init(x: String) […]