2017-02-17 7 views
-1

質問があります。どのように私はそれを行うことができます、私の配列は、ランダムにリストから文字列を選択しますか?Swift3のString Arrayのリストの1つを選択してください

リストのこれらの製品の中からランダムに1つを選んでみたいですか?

私の考えられていた、私は配列で再びそれを行うことができますが、私はこのエラーを取得:

EXC_BAD_INSTRUCTION (code=EXC_i386_INVOP, subcode=0x0

私のコードは次のとおりです。

private func randomProduct() -> Int { 
let myArray1 = ["Nintendo Classic Mini NES", "Microsoft Office 2016 Home and Business", "Rubie's Deluxe Muscle Chest Batman Child", "Giro Dime", "Varta Powersports AGM 12V 12Ah 512014010A514", "Pohl-Boskamp Gelomyrtol Forte", "Panasonic ES-LV9N-S803", "Traxxas X-Maxx (77076-4)", "GoPro HERO 4", "Bose Lifestyle 650", "WMF Function 4 Kochtopf-Set 4-teilig", "Microsoft Surface Book", "Hewlett-Packard HP Color LaserJet Pro M252dw (B4A22A)", "Apple iPhone 7", "X-lite X-403GT Elegance", "Denon AVR-X3300W", "Hasbro Spiel des Lebens Banking", "Avent SCD 630/26", "Ray-Ban Aviator Metal RB3025"] 
return Int(myArray1[Int(arc4random_uniform(UInt32(myArray1.count)))])! 

あなたは私を助けることを願って!

Thx a lot!

+3

なしあなたはおそらく 'STRING'を返すようにしたい、それに追加するInt' ... – Hamish

+0

'に変換されていない、と取り除く:だから、ちょうどカップルの変更を行います'return'行の' Int'を返します。 – BallpointBen

答えて

0

あなたは近くですが、インデックスとして乱数Intを使用して、配列内に文字列が見つかりました。その後、文字列を返します。あなたの配列内の文字列の

private func randomProduct() -> String { // Return String, not Int 
    let myArray1 = ["Nintendo Classic Mini NES", "Microsoft Office 2016 Home and Business", "Rubie's Deluxe Muscle Chest Batman Child", "Giro Dime", "Varta Powersports AGM 12V 12Ah 512014010A514", "Pohl-Boskamp Gelomyrtol Forte", "Panasonic ES-LV9N-S803", "Traxxas X-Maxx (77076-4)", "GoPro HERO 4", "Bose Lifestyle 650", "WMF Function 4 Kochtopf-Set 4-teilig", "Microsoft Surface Book", "Hewlett-Packard HP Color LaserJet Pro M252dw (B4A22A)", "Apple iPhone 7", "X-lite X-403GT Elegance", "Denon AVR-X3300W", "Hasbro Spiel des Lebens Banking", "Avent SCD 630/26", "Ray-Ban Aviator Metal RB3025"] 
    return myArray1[Int(arc4random_uniform(UInt32(myArray1.count)))] // Remove the Int() 
} 
関連する問題