【发布时间】:2017-02-25 16:57:13
【问题描述】:
我了解在调用super.init() 之前需要定义所有属性。但是如果一个属性的初始化依赖于self呢?在我的情况下,我需要初始化一个具有委托的对象,我需要将其设置为self。最好的方法是什么?
class MyClass : NSObject {
var centralManager : CBCentralManager
override init() {
super.init()
centralManager = CBCentralManager(delegate: self, queue: nil)
}
}
这是错误的,因为centralManager 没有在super.init 之前初始化。但我也不能更改顺序,因为那样我会在super.init 之前使用self。
【问题讨论】:
标签: ios swift macos swift3 core-bluetooth