2016-07-04 8 views
-1

「オプションBool型はboolean型として使用することはできません。!nilに代わりのためのテスト」比較ローカルの画像が

は私が

私は「スロットマシン」を作るしようとしているを取得していますエラーですapp、very basic、 UIButtonを押すと、3つの画像がすべてランダムに変更されます。一致する場合は "You won!"と表示されます。

import UIKit 

class ViewController: UIViewController { 

@IBOutlet weak var img1: UIImageView! 
@IBOutlet weak var img2: UIImageView! 
@IBOutlet weak var img3: UIImageView! 
@IBOutlet weak var rollBtn: UIButton! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


@IBAction func onRollPress(sender: AnyObject) { 
    let randomRoll = ImgArray().getRandomImage() 
    img1.image = randomRoll 
    img2.image = randomRoll 
    img3.image = randomRoll 

    if (img1.image! == img2 && img3) { 
     print("You won!") 
    } 

} 

} 
+0

あなたは私たちに、コードを表示する必要があります。 –

答えて

0

イメージが配列内にある場合は、イメージのインデックスを取得して比較してみましょう。または、イメージをbase64文字列に変換して比較することもできます。

編集:は、あなたのImgArrayクラスについて多くを知らない、これはあなたのために働く可能性があります

@IBAction func onRollPress(sender: AnyObject) { 
let randomRoll1 = ImgArray().getRandomImage() 
let randomRoll2 = ImgArray().getRandomImage() 
let randomRoll3 = ImgArray().getRandomImage() 

img1.image = randomRoll1 
img2.image = randomRoll2 
img3.image = randomRoll3 

let imgIndex1 = ImgArray().indexOf(randomRoll1) 
let imgIndex2 = ImgArray().indexOf(randomRoll2) 
let imgIndex3 = ImgArray().indexOf(randomRoll3) 

if (imgIndex1 == imgIndex2 && imgIndex3) { 
    print("You won!") 
} 
} 
+0

私が正しいとしたら、画像アレイのインデックスを使用すると、ランダムに生成された画像と比較することはできません。 –

+0

これは本当にランダムな画像ですか、または配列から画像をランダムに選んでいますか? – CaseyC585

+0

いいえ、配列からランダムな画像を選んでいますが、この場合はimg1.imageとハードコードされたインデックス番号を比較しませんか? –