2016-08-31 11 views
-2

外部配列からランダムに選択された背景イメージを追加しようとしています。ランダム関数は動作していますが、バックグラウンドUIImageに値を注入していません。Swift配列からランダムなイメージを選択

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

let chooseImage = images.BackgroundImages 
    let randomImage = chooseImage.sample() 

    backgroundImage.image = UIImage(named: randomImage) 
    print(randomImage) 

プリントが正しい値で示していて、私は試してみました「(randomImage)」UIImage内部。

編集: "(randomImage).jpg"を追加した場合、コードは意図したとおりに動作しますが、デバイスの各タイプ、つまり@ 2x、@ 3xなどを推測します。アセット名を使用する必要はありますか?

おかげ

答えて

1
//in case of arrImage has UIImages 

    if arrImage.count > 0 { 
     let randomIndex = random() % arrImage.count 
     let randomImage = arrImage.objectAtIndex(randomIndex) as! UIImage 
    }else{ 
     let randomImage = placeholderImage 
    } 

    //in case of arrImage has Strings 

    if arrImage.count > 0 { 
     let randomIndex = random() % arrImage.count 
     let randomString = arrImage.objectAtIndex(randomIndex) as! String 
     let randomImage = UIImage(name:randomString) 
    }else{ 
     let randomImage = placeholderImage 
    } 
+0

データ型は文字列@Peter –

+0

です。選択肢を明確にしてください。イメージは配列にする必要がありますか? randomImageはゼロではありません。 –

+0

ランダムイメージはnilではありません - 文字列background1、background2などのあらかじめ合成された配列です –

-1
RandomNumber = Int(arc4random_uniform(UInt32(self.imageArr.count))) 
//imageArr is array of images 

imageArr[RandomNumber] 

はこれを試してみて、それでもあなたは私に尋ねる任意の助けを必要としています。

+0

ランダム関数が既に機能しているので、必要はありません。 –

+0

ありがとう...バディ – JAck

関連する問題