So habe ich diese enum
, die unterschiedliche Ansicht Positionen auf einem View-Controller definiert, wenn ein Sidebar-Menü dargestellt wird. Ich muss die verschiedenen Werte basierend auf verschiedenen Situationen addieren, subtrahieren, multiplizieren oder dividieren. Wie genau stelle ich eine Methode her, die es mir erlaubt, -
, +
, *
oder /
Operatoren auf die Werte in enum
zu verwenden. Ich kann viele Beispiele finden, die den Vergleichsoperator ==
verwenden. Obwohl ich keine finden konnte, die >=
verwenden. Was ich auch tun muss.So addieren oder subtrahieren Sie zwei Aufzählungswerte in swift
Hier ist die enum
enum FrontViewPosition: Int {
case None
case LeftSideMostRemoved
case LeftSideMost
case LeftSide
case Left
case Right
case RightMost
case RightMostRemoved
}
nun wie so versuche ich, diese Operatoren in Funktionen zu nutzen.
func getAdjustedFrontViewPosition(_ frontViewPosition: FrontViewPosition, forSymetry symetry: Int) {
var frontViewPosition = frontViewPosition
if symetry < 0 {
frontViewPosition = .Left + symetry * (frontViewPosition - .Left)
}
}
Auch in einer anderen Funktion wie so.
func rightRevealToggle(animated: Bool) {
var toggledFrontViewPosition: FrontViewPosition = .Left
if self.frontViewPosition >= .Left {
toggledFrontViewPosition = .LeftSide
}
self.setFrontViewPosition(toggledFrontViewPosition, animated: animated)
}
Ich weiß, dass ich die Funktionen direkt erstellen muss, damit ich diese Operatoren verwenden kann. Ich verstehe einfach nicht, wie ich es machen soll. Eine kleine Hilfe würde sehr geschätzt werden.
Sie können ein 'Int' Rohwert verwenden und dann Vergleiche auf dem Rohwert durchführen, aber ich vermute, Sie sind gerade hier die falsche Sache zu tun versuchen. – Paulw11
Was bedeutet links subtrahieren? o.0 ' – Alexander
FYI - Die Fälle Ihrer Enum und ihrer Verwendung in Ihrem Code stimmen nicht überein. Beispiel: 'Links' vs. '.left'. – rmaddy