1

を使用して、入力文字列が有効な電話番号かどうかを判断しようとしていますCharacterSet。正常にisSubset動作しているようですが、isSupersetクラッシュします。

これは Foundation のバグだと思います。

let phoneNumberCharacterSet = CharacterSet(charactersIn: "01234567890,;*+#").union(CharacterSet.whitespaces)
let zeroCharacterSet = CharacterSet(charactersIn: "0")

if zeroCharacterSet.isSubset(of: phoneNumberCharacterSet) {
    print("zero is a subset of the phone number set")
}

if phoneNumberCharacterSet.isSuperset(of: zeroCharacterSet) {
    // will never get here due to crash
    print("is a superset of '0'")
}
4

1 に答える 1