8
Mam następujący kod:Jak przekazywać dane do inicjatora podczas inicjalizacji obiektu w Swift?
import CoreBluetooth
class BrowserSample: NSObject, CBCentralManagerDelegate {
let central : CBCentralManager
init() {
central = CBCentralManager(delegate: self, queue: nil, options: nil)
super.init()
}
func centralManagerDidUpdateState(central: CBCentralManager!) { }
}
Jeśli mogę umieścić linię central =
przed super.init()
, potem pojawia się błąd:
self used before super.init() call
Jeśli mogę umieścić go później, pojawia się błąd:
Property self.central not initialized at super.init call
Tak, jestem zdezorientowany. Jak mam to zrobic?
Bardzo doceniam o @lazy. Dobry –
Używanie leniwego z CBCentralManager jest złym pomysłem w niektórych sytuacjach, ponieważ inicjalizacja radia bluetooth trwa trochę dłużej – asdf