繁体   English   中英

在目标C类和快速类发行之间的委托方法

[英]Delegate method Between objective C class and swift class issue

一年多以前,我目前正在迅速进入由其他开发人员构建的项目。 我知道那段时间变化很快,所以我遇到的问题很少。

信标库在目标c类中调用了委托方法:

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

和从swift类的委托获取调用的方法:

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

快速方法编译错误:

Objective-C方法beaconManager:didRangeBeacons:inRegion:由方法beaconManager(_:didRangeBeacons:inRegion:)提供,与协议ESTBeaconManagerDelegate可选需求方法beaconManager(_:didRangeBeacons:inRegion:) ESTBeaconManagerDelegate

您的方法参数是可选的,因为在Objective-C中,您可以传递nil作为参数,而如果参数不是可选的,则不能在Swift中这样做。 您需要这样的东西。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM