ios - 参数标签 '(UUIDString)' 与任何可用的重载都不匹配

标签 ios swift xcode swift3 uuid

我将代码转换为 swift 3。并且出现以下错误:

Argument labels '(UUIDString)' do not match any available overloads

    locationManager.delegate = self
    if (CLLocationManager.authorizationStatus() != CLAuthorizationStatus.authorizedWhenInUse) {
        locationManager.requestWhenInUseAuthorization()
    }
    let region = CLBeaconRegion(proximityUUID: UUID(UUIDString: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"), identifier: "ru.techmas.techbeacon")
    locationManager.startRangingBeaconsInRegion(region)

有人知道这个错误吗? (我的Xcode版本是8.2)

最佳答案

UUID 的初始化程序更改为 init?(uuidString:)因此,将参数标签更改为 uuidString ,它会返回可选的 UUID? 实例,因此您需要包装可选实例。

let region = CLBeaconRegion(proximityUUID: UUID(uuidString: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0")!, identifier: "ru.techmas.techbeacon")

您还可以选择使用 if let 来展开可选内容,而不是强制包装。

if let uuidStr = UUID(uuidString: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0") {
    let region = CLBeaconRegion(proximityUUID: uuidStr, identifier: "ru.techmas.techbeacon")
}

关于ios - 参数标签 '(UUIDString)' 与任何可用的重载都不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41460531/

相关文章:

ios - 为什么我的单元格数据没有显示在 UITableView 中?

ios - Xcode UI 单元测试和权限警报

ios - UIRefreshControl 需要下拉太多

ios - 如何在 iOS 中通过 map-kit 在两点之间绘制折线?

swift - 为什么只调用我的最后一个本地通知函数?

ios - 将数据保存到 iOS 的最佳方式?

xcode - 如何使用远程 Git 存储库设置 Xcode

ios - 只有后退按钮和透明背景的导航

ios - 导航 Controller (按下按钮 "back"时如何释放内存)

ios - Swift 4 Codable , CodingKey 仅用于解码