演算子とユーザー入力を使用する必要がある場合、Swift 3でforループを記述する方法を混乱させます。SwiftでのForループの作成3
let userNum = Int(usernumInput.text!)
for i in 1...<=userNum {
if i % 2 == 0 {
print(i)
}
}
演算子とユーザー入力を使用する必要がある場合、Swift 3でforループを記述する方法を混乱させます。SwiftでのForループの作成3
let userNum = Int(usernumInput.text!)
for i in 1...<=userNum {
if i % 2 == 0 {
print(i)
}
}
あなたは、コードしている、それがint値ですので、それはそれをループすることはできませんが、近くにあります。 for ... inループでは、SequenceTypeプロトコルに準拠するオブジェクトのみを使用できます。
let userNum : Int? = Int(usernumInput.text!)
for i in 1...userNum! {
print(i)
if i % 2 == 0 {
print("---")
}
}
出力:あなたは、単に他のすべての反復をスキップしたい場合は
1
2
---
..
、stride
を試してみてください - それは次のように動作します。
for i in stride(from: 0, to: userNum!, by: 2) {
print(i)
}
出力は:
0
2
4
..
guard let userInputText = usernumInput.text,
let userInputInt = Int(userInputText) else {
fatalError("Input text is nil or not a valid Int")
}
for i in stride(from: 1, to: 10, by: 2) {
print(i)
}
あなただけのコードを提供するのではなく、あなたの答えを説明する必要があります。 –
これはかなり基本的なものです。 OPを正しい方向に向けるために十分な情報を与えました。ストライドやガードなどのドキュメントを簡単に見つけることができます。フォローアップの質問にもお答えします。しかし、SOはAPIリファレンス検索エンジンではありません。 – Alexander
一般的に回答は、OPだけではなく、より多くの視聴者が視聴することを意図しています。あなたの最後の文章が何を意味するか分かりません。 –
お返事ありがとうございました!これが最も助けになった答えです。どうもありがとうございます!私はSwift 3でどのようにループをフォーマットするのかを理解しています。言われていることですが、私はもっと古いスタイルが好きです。 – DevSpace
このソリューションでは、ループオーバーヘッドが必要以上に2倍になります。すべての数字を繰り返して、その半分をスキップしないでください。 – Alexander
必ずしもそうではありません。 OPはif文の前に何かしたいかもしれません... –