gpt4 book ai didi

ios - 将 Objective-C block 转换为 Swift

转载 作者:行者123 更新时间:2023-11-30 14:16:09 25 4
gpt4 key购买 nike

我只是想将这个 Objective-C block 转换为 swift,但似乎有一个问题,我无法解决。没有一个变量是可选的。

Objective-C - 有效

[CLPlacemark hnk_placemarkFromGooglePlace:place
apiKey:YOUR_API_KEY
completion:^(CLPlacemark *placemark, NSString *addressString, NSError *error) {
}];

Swift - 给出错误

CLPlacemark.hnk_placemarkFromGooglePlace(placeAtIndexPath(indexPath),"YOUR_API_KEY",
completion:{ (placemark:CLPlacemark!, addressString: NSString!, error: NSError!) -> Void in

})

错误消息:

Cannot invoke 'hnk_placemarkFromGooglePlace' with an argument list of type '(HNKGooglePlacesAutocompletePlace!, String, completion: (CLPlacemark!, NSString!, NSError!) -> Void)'

Swift 方法签名

 CLPlacemark.hnk_placemarkFromGooglePlace(place:
HNKGooglePlacesAutocompletePlace!, apiKey:String!, completion:
((CLPlacemark!, String!, NSError!) -> Void)

最佳答案

Swift 在 block 中将 NSString 桥接到 String。您仍然在回调中使用 NSString,但应该使用 String。

关于ios - 将 Objective-C block 转换为 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31147241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com