Поэтому я пытаюсь проверить, является ли NSNumber
Double
или Int
, и мне интересно, возможно ли это вообще.
Я надеялся, что это сработает, но всегда возвращает true независимо от того, с каким типом я сравниваю
var myDouble: Double = 0.0
var myNSNumber: NSNumber = NSNumber(value: myDouble)
if myNSNumber is Double {
print("NSNumber is Double")
}else {
print("NSNumber is different type")
}
В kotlin я использую такое расширение для номера, которое в swift равно NSNumber
, и я хочу воссоздать его в swift
protected operator fun Number.plus(other: Number): Number {
return when (this) {
is Long -> this.toLong() + other.toLong()
is Int -> this.toInt() + other.toInt()
is Short -> this.toShort() + other.toShort()
is Byte -> this.toByte() + other.toByte()
is Double -> this.toDouble() + other.toDouble()
is Float -> this.toFloat() + other.toFloat()
}
}