【发布时间】:2017-04-12 20:55:28
【问题描述】:
我正在尝试通过执行以下操作来随机化 UIImages 数组:
import UIKit
import GameplayKit
//Create an array of the pictures. They are already in xcassets.
var picturePieces = [UIImage(named: "concordTL"),
UIImage(named: "concordTC"),
UIImage(named: "concordTR"),
UIImage(named: "concordLC"),
UIImage(named: "concordC"),
UIImage(named: "concordRC"),
UIImage(named: "concordBL"),
UIImage(named: "concordBC"),
UIImage(named: "concordBR")]
//Randomizer function using GKRandomSource
func shuffle() {
var shuffledPicturePieces = GKRandomSource.sharedRandom().arrayByShufflingObjectsInArray(picturePieces)
此处:我在 (picturePieces) 处不断收到错误“无法将类型 '[UIImage?]' 的值转换为预期的参数类型 '[AnyObject]'”。
GKRandomSource 不能与 UIImage 一起使用吗?
然后我想将 shuffledPicturePieces 中的每个随机 UIImage 分配给我的每个 @IBOutlets,如下所示:
//Outlets for ImageViews.
@IBOutlet weak var EasyTopLeft: UIImageView!
@IBOutlet weak var EasyTopCenter: UIImageView!
@IBOutlet weak var EasyTopRight: UIImageView!
@IBOutlet weak var EasyLeftCenter: UIImageView!
@IBOutlet weak var EasyCenter: UIImageView!
@IBOutlet weak var EasyRightCenter: UIImageView!
@IBOutlet weak var EasyBottomLeft: UIImageView!
@IBOutlet weak var EasyBottomCenter: UIImageView!
@IBOutlet weak var EasyBottomRight: UIImageView!
//Method to get a picture for the puzzle.
@IBAction func getPictureButton(sender: UIButton) {
shuffle()
if EasyTopLeft == nil{
EasyTopLeft.image = shuffledPicturePieces[Int[0]]
EasyTopCenter.image = shuffledPicturePieces[Int[1]]
EasyTopRight.image = shuffledPicturePieces[Int[2]]
EasyLeftCenter.image = shuffledPicturePieces[Int[3]]
EasyCenter.image = shuffledPicturePieces[Int[4]]
EasyRightCenter.image = shuffledPicturePieces[Int[5]]
EasyBottomLeft.image = shuffledPicturePieces[Int[6]]
EasyBottomCenter.image = shuffledPicturePieces[Int[7]]
EasyBottomRight.image = shuffledPicturePieces[Int[8]]
}
else{
NSLog("Image already loaded!")
}
}
此处:对于 IF 语句中的每个项目,我不断收到错误“使用未解析的标识符 'shuffledPicturePieces'”。
感谢您的帮助!
-弗兰克
【问题讨论】:
标签: ios arrays swift swift2 uiimage