Чтение температуры на Estimote ibeacon

В obj-c я могу получить температуру от маяка с помощью этого блока:

- (void)readTemperatureWithCompletion:(ESTNumberCompletionBlock)completion

Как я могу сделать это с помощью SWIFT с закрытием. Я изучаю замыкания, но до сих пор не знаю, как запустить этот блок в SWIFT.

Кто-нибудь может посоветовать?

Спасибо


person Jason    schedule 27.08.2014    source источник


Ответы (2)


Это сработало для меня:

func beaconConnectionDidSucceeded(beacon: ESTBeacon) {
    NSLog("beaconConnectionDidSucceeded")
    beacon.readTemperatureWithCompletion() { value, error in
        NSLog("readTemperatureWithCompletion, value = \(value), error = \(error)")
    }
}
person heypiotr    schedule 27.08.2014
comment
Хороший вопрос, спасибо! Я обновил приведенный выше код, чтобы использовать завершающий синтаксис и вывод типа. - person heypiotr; 27.08.2014

Я считаю, что это более правильно

beacon.readTemperatureWithCompletion({(temp:NSNumber!, error:NSError?) -> () in
        if error? == nil{
            println("\(temp)")
        }else
        {
            println("Error \(error!.description)")
        }   
    })
person Lars Christoffersen    schedule 21.09.2014