簡體   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