2016-06-17 5 views
0

番号を数字のグループで均等に分割できるかどうかをテストしようとしています。これは私のコードです:Swiftで[int]をintに変更する方法

var arr = [2, 3, 4, 5, 6, 7, 8, 9] 

var text = Int(textField.text!)! 

if text % arr === 0 { 
} 

私は何をしようとしていることは、2で変数 "テキスト" を分ける3、4、5、6、7、8、および9(それがどんなで割り切れるかどう実行されますアクション)しかし、私は配列の値を取得する方法が不明です。そして、私がしなければならないしたくない:

if text % 2 == 0 || text % 3 == 0 || text % 4 == 0 

などを...

+0

このために列挙型ブロックを作成できます。 – Bhupesh

答えて

3

Swiftyの方法がoptionalsのラップを解除してから、アレイは、述語を満たし要素が含まれているかどうかを確認するためにビルトインcontains機能を使用するif letを使用することです。

let arr = [2, 3, 4, 5, 6, 7, 8, 9] 
if let text = textField.text, number = Int(text) {  
    if arr.contains({ number % $0 == 0 }) { 
     ... 
    } 
} 
+0

はい、これは問題の最適な解決策です。 –

2
for divider in arr { 
    if text % divider == 0 { 
    // ... 
    break 
    } 
} 
+0

母:同じ時刻に:) – Array

+0

私のような同じ答えのように見えます:私は私の答えを削除します –

+0

人、これは非常に役立ちます。 –

0

あなたは、このいずれかを試したことがありますか?これを行うには

for value in arr { 
    if text % value == 0 { 
      // do some action 
      break 
    } 
} 
0
for i in arr { 
    if text % i == 0 
    { 
    } 
} 
関連する問題