我已經做了一個UIImagesViews數組,我已經做了一個代碼,爲他們分配隨機圖片。如果超過或5張圖片顯示相同的圖片,我想製作一個if語句。If語句與UIImageViews
var images: [UIImageView] = [Image1, Image2, Image3, Image4, Image5, Image6, Image7, Image8, Image9]
不同的照片被命名爲card1, card2, card3
let firstRandomNumber = arc4random_uniform(3) + 1
let firstRandomString:String = String(format: "card%i", firstRandomNumber)
self.Image1.image = UIImage(named: firstRandomString)
let secondRandomNumber = arc4random_uniform(3) + 1
let secondRandomString:String = String(format: "card%i", secondRandomNumber)
self.Image2.image = UIImage(named: secondRandomString)
所有圖像都像以上這樣的自己的特定代碼。現在,正如我所說的,如果五個或更多的圖像顯示相同的圖片,我想要製作一個if
-或者switch
-案例。
編輯:這是更新的代碼;
let imageNames:NSArray = [firstRandomString, secondRandomString, thirdRandomString, fourthRandomString, fifthRandomString, sixthRandomString, seventhRandomString, eighthRandomString, ninthRandomString]
let maxRepeating = imageNames
.map {img in imageNames.reduce(0) { $1 == img ? $0 + 1 : $0} }
.reduce(0){ $1 > $0 ? $1 : $0 }
該代碼只有一個錯誤.map {img in imageNames.reduce(0) { $1 == img ? $0 + 1 : $0} }
說;
二元運算符「==」不能被應用到兩個「元素」(又名「AnyObject」)操作數
編輯:這是我從克里斯托弗凱文嘗試另一個代碼;
var correct = 0
func checkImageDuplication() {
let imageArray : NSArray = [firstRandomString, secondRandomString, thirdRandomString, fourthRandomString, fifthRandomString, sixthRandomString, seventhRandomString, eighthRandomString, ninthRandomString]
let imageDataArray = imageArray.map { (image) -> NSData in
return UIImagePNGRepresentation(image as! UIImage)!
}
let countSet = NSCountedSet(array: imageDataArray)
for imageData in imageDataArray {
let count = countSet.countForObject(imageData)
if count > 5 {
correct = 5
}
}
}
@IBAction func PlayerPRESSED(sender: AnyObject) {
if correct == 5 {
view.backgroundColor = UIColor.greenColor()
}
}
我試過了代碼,但它不會執行該操作。 (view.backgroundColor)任何人有任何想法這個代碼有什麼問題?
顯示您的代碼。你到目前爲止嘗試了什麼? – Wain
張貼您的隨機代碼請 – Khuong
@爲什麼我一直無法找出任何東西,想通過'if images == card1 && card1' - 5次,但它完全是愚蠢的... –