0
文字列に文字 "S"または "C"が表示されているかどうかを調べようとしています。少なくとも1つは文字列に含まれますが、必ずしも両方である必要はありません。スウィフトで2つの文字列インデックスを比較する方法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
}
は、私はエラーを取得しています:バイナリ演算子「<」は2つに適用することはできません「String.CharacterView.Index?」 (別名「オプション」)オペランド
私の経験では、これは通常、間違っている場合は別のことを意味します。 また、私は以下のifステートメントを変更しようとしました。
if (C == nil) || S?.encodedOffset < C?.encodedOffset {
nextView.sequential_flag = true
nextView.continuous_flag = false
}
そして、私はエラーました:「?のInt」二項演算子「<」の2に適用することはできませんオペランド。
これを行う方法についてのお手伝いがありますが、ありがとうございます。
ありがとうございますが、CがnilでもS isntの場合はどうなるのでしょうか?私はまだそれを渡す必要があります。 – Blue
@AaronMann編集した回答を確認してください。 – the4kman
1つの簡単なことは、渡すことを確認するには、オプションの値は0ではなく9999のようにしてはいけませんか?それ以外の場合は、迅速な対応に感謝します。 – Blue