/ / Класът не съответства на "CBPeripheralManagerDelegate" в Swift - какао, swift, cbperipheral

Класът не е в съответствие с "CBPeripheralManagerDelegate" в Swift - какао, бързо, cbperipheral

Опитвам се да създам емитер на iBeacon в Swift иНе мога да накарам моя клас да приеме протокола CBPeripheralManagerDelegate. Това се изисква в Objective-C за инициализиране на обект PeripheralManager, но в Swift ще получа следната грешка:

class MyBeacon: CBPeripheralManagerDelegate{
...
}

ще даде грешка: „MyBeacon“ не съответства на „CBPeripheralManagerDelegate“

Тъй като моят клас не приема протокола, получавам и грешка, когато се опитвам да инициализирам PeripheralManager с помощта на автоматичното завършване

    self.peripheralManager = CBPeripheralManager(delegate: self, queue: queue)

ще даде грешка: не може да намери претоварване за "init", което приема предоставените аргументи

Може ли някой да пролива малко светлина?

Отговори:

3 за отговор № 1

Трябва да приложите този метод, тъй като този метод не е задължителен и трябва да се приложи, ако потвърждавате CBPeripheralManagerDelegate

func peripheralManagerDidUpdateState(peripheral: CBPeripheralManager!){

}

напишете това в клас грешка ще изгасне

се отнасят документи

Делегатът на обект CBPeripheralManager трябва да приеме Протокол CBPeripheralManagerDelegate, протокол, състоящ се от множество опционални методи и един необходим методПротоколите изискващ метод, който указва дали периферният мениджър е се извиква, когато състоянието на периферния мениджър се актуализира.