Swift中的数据类型匹配

Swift中的数据类型匹配,swift,expression,Swift,Expression,我正在使用信标套件检测附近的信标 我想检查检测到的信标是否为AltBeacon类型。我的代码显示错误,因为我正在使用匹配的表达式 if beacon.beaconType == AltBeacon { print("Detected an AltBeacon") } 这是我收到的错误消息 二进制运算符=不能应用于类型为Int'和AltBeacon.type 我可以用什么来代替,这样我就可以纠正我的匹配表达式了!谢谢您试过了吗 如果beacon.beaconType是AltBeacon

我正在使用信标套件检测附近的信标

我想检查检测到的信标是否为
AltBeacon
类型。我的代码显示错误,因为我正在使用匹配的表达式

if beacon.beaconType == AltBeacon {
     print("Detected an AltBeacon")
}
这是我收到的错误消息

二进制运算符
=
不能应用于类型为
Int
'和
AltBeacon.type

我可以用什么来代替,这样我就可以纠正我的匹配表达式了!谢谢

您试过了吗

如果beacon.beaconType是AltBeacon{
打印(“检测到备降信标”)
}
或者,你可以检查一下

如果让beacon.beaconType作为?备降信标{
打印(“检测到备降信标”)
}否则{
//处理
}

错误很明显
beaconType
是一个
Int
。它只能与
Int

两种可能的解决办法:

  • 计算出
    AltBeacon
    (2只是一个示例)的整数值并进行比较

    if beacon.beaconType == 2 { ...
    
  • 由于
    AltBeacon
    Beacon
    的子类,请检查实例的类型


  • 根据源代码,两个
    if
    表达式的计算结果都将始终为
    false
    if beacon is AltBeacon { ...