2015-05-04 3 views
0

В настоящее время я вскакиваю в проект, созданный разным разработчиком быстрее года назад. С тех пор я осознал, что быстро изменился, поэтому мне приходят несколько вопросов.Метод делегата Между объектным классом C и классом быстрого класса

Там находится библиотека маяка вызова метода делегата в Objective C класса называется:

- (void)beaconManager:(ESTBeaconManager *)manager 
     didRangeBeacons:(NSArray *)beacons 
      inRegion:(ESTBeaconRegion *)region; 

и метод, который получает вызов от делегата в быстром классе:

func beaconManager(manager: ESTBeaconManager, didRangeBeacons: [ESTBeacon], inRegion: ESTBeaconRegion) { 
    //code.. 
} 

быстрого метод компиляции с ошибкой:

Objective-C method beaconManager:didRangeBeacons:inRegion: provided by method beaconManager(_:didRangeBeacons:inRegion:) conflicts with optional requirement method beaconManager(_:didRangeBeacons:inRegion:) in protocol ESTBeaconManagerDelegate

ответ

0

Параметры вашего метода не являются обязательными, поскольку в Objective-C вы можете пройти nil в качестве аргумента, в то время как вы не можете сделать это в Swift, если параметр не является необязательным. Тебе нужно что-то подобное.

func beaconManager(manager: ESTBeaconManager!, didRangeBeacons: [ESTBeacon]!, inRegion: ESTBeaconRegion!) { 
    //code.. 
} 
Смежные вопросы