Ich versuche zu finden, ob das Zeichen "S" oder "C" in einer Zeichenfolge angezeigt wird. Mindestens einer wird in der Zeichenfolge sein, aber nicht unbedingt beides.Wie zwei String-Indizes in Swift zu vergleichen 4
let S = codeZ.characters.index(of: "S")
let C = codeZ.characters.index(of: "C")
if (C == nil) || S < C {
nextView.sequential_flag = true
nextView.continuous_flag = false
}
else if S == nil || (C < S) {
nextView.sequential_flag = false
nextView.continuous_flag = true
}
Ich erhalte die Fehlermeldung: Binary Operator '<' kann nicht auf zwei angewendet werden 'String.CharacterView.Index?' (aka 'Optional') Operanden
In meiner Erfahrung mit Swift bedeutet dies normalerweise etwas anderes, wenn falsch. Auch ich habe versucht, die if-Anweisungen dazu unten zu ändern.
if (C == nil) || S?.encodedOffset < C?.encodedOffset {
nextView.sequential_flag = true
nextView.continuous_flag = false
}
Und ich habe den Fehler: ‚Int‘ Binary Operator ‚<‘ kann nicht auf zwei angewendet werden Operanden.
Jede Hilfe, wie dies zu tun ist, ist sehr zu schätzen, danke.
Vielen Dank, aber kann ich fragen, was passiert, wenn C ist nil, aber S nicht? Ich brauche das noch, um zu bestehen. – Blue
@AaronMann Überprüfen Sie meine bearbeitete Antwort. – the4kman
Eine schnelle Sache, sollte nicht der optionale Wert wie 9999 anstatt 0 sein, um sicher zu sein, zu bestehen? Ansonsten danke für die schnellen Antworten. – Blue