Опитвам се да създам емитер на 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, протокол, състоящ се от множество опционални методи и един необходим методПротоколите изискващ метод, който указва дали периферният мениджър е се извиква, когато състоянието на периферния мениджър се актуализира.