У меня есть класс Swift с константой ivar (теперь они называются константами экземпляра?). Чтобы установить значение этой константы, мне нужно вызвать инициализатор желаемого объекта и передать его. Однако мне не разрешено, поскольку мне нужно сначала инициализировать все значения, а затем вызвать super.init()
, после чего мне разрешен доступ к self
. Итак, что делать в этом случае?
class Broadcaster: NSObject, CBPeripheralManagerDelegate {
let broadcastID: NSUUID
let bluetoothManager: CBPeripheralManager
init(broadcastID: NSUUID) {
self.broadcastID = broadcastID
let options: Dictionary<NSString, AnyObject> = [ CBPeripheralManagerOptionShowPowerAlertKey: true ]
self.bluetoothManager = CBPeripheralManager(delegate: self, queue: nil, options: options) // error: 'self' used before super.init call
super.init()
}
}