Swift switch-Anweisung berücksichtigt alle Fälle von Int, aber der Compiler zeigt immer noch den Fehler an

Ich verstehe, dass die switch-Anweisung in Swift vollständig sein muss, andernfalls müssen wir einen Standardfall angeben. Ich habe den folgenden Code online gesehen, die switch-Anweisung hat bereits alle Fälle in Int abgedeckt, aber der Compiler zeigt immer noch die Fehlermeldung an, dass switch erschöpfend sein muss. Erwägen Sie das Hinzufügen einer Standardklausel. Fehlt mir etwas?

extension Int {
    enum Kind {
        case Negative, Zero, Positive
    }

    var kind: Kind {
        switch self {
        case 0:
            return .Zero
        case let x where x > 0:
            return .Positive
        case let x where x < 0:
            return .Negative
        }
    }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage