我正在使用Swift 2.1处理Xcode7 我的代码有问题。我正在制作一个随机功能,当我触摸按钮时,它会自动显示一个随机电影。
但问题是我希望它在我修饰按钮时重复这个功能,因为当我修饰按钮时,什么也没发生。
以下是代码:
class ViewController: UIViewController {
var random = arc4random_uniform(3)
@IBOutlet weak var NomDuFilm: UILabel!
@IBOutlet weak var ImageFilm: UIImageView!
@IBAction func ShowRandom(sender: AnyObject) {
switch random {
case 0:
self.ImageFilm.image = UIImage(named: "Inception.jpg")
NomDuFilm.text = "Inception"
NomDuFilm.hidden = false
case 1:
self.ImageFilm.image = UIImage(named: "Memento.jpg")
NomDuFilm.text = "Memento"
NomDuFilm.hidden = false
case 2:
self.ImageFilm.image = UIImage(named: "ShutterIsland.jpg")
NomDuFilm.text = "Shutter Island"
NomDuFilm.hidden = false
case 3:
self.ImageFilm.image = UIImage(named: "Prisoners.jpg")
NomDuFilm.text = "Prisoners"
NomDuFilm.hidden = false
case 4:
self.ImageFilm.image = UIImage(named: "LePrestige.jpg")
NomDuFilm.text = "Le Prestige"
NomDuFilm.hidden = false
default:
self.ImageFilm.image = UIImage(named: "PulpFiction.png")
NomDuFilm.text = "Pulp Fiction"
NomDuFilm.hidden = false
}
感谢您的帮助,对不起我的近似英语......
答案 0 :(得分:1)
实例化实例时,您只需初始化random
属性一次。这意味着每次调用ShowRandom
时,它都会显示相同的图像。
您可以将random
的定义移到ShowRandom
函数中,每次都会得到一个新值。
如果您使用数组作为图像和标题,则可以避免使用大型switch语句。
此外,按照惯例,您的函数名称应以小写字母开头(showRandom而不是ShowRandom)
class ViewController: UIViewController {
@IBOutlet weak var NomDuFilm: UILabel!
@IBOutlet weak var ImageFilm: UIImageView!
@IBAction func ShowRandom(sender: AnyObject) {
let random = arc4random_uniform(4)
switch random {
case 0:
self.ImageFilm.image = UIImage(named: "Inception.jpg")
NomDuFilm.text = "Inception"
case 1:
self.ImageFilm.image = UIImage(named: "Memento.jpg")
NomDuFilm.text = "Memento"
case 2:
self.ImageFilm.image = UIImage(named: "ShutterIsland.jpg")
NomDuFilm.text = "Shutter Island"
case 3:
self.ImageFilm.image = UIImage(named: "Prisoners.jpg")
NomDuFilm.text = "Prisoners"
case 4:
self.ImageFilm.image = UIImage(named: "LePrestige.jpg")
NomDuFilm.text = "Le Prestige"
default:
self.ImageFilm.image = UIImage(named: "PulpFiction.png")
NomDuFilm.text = "Pulp Fiction"
}
NomDuFilm.hidden = false
答案 1 :(得分:0)
您是否在操作调用中添加了随机调用?
@IBAction func ShowRandom(sender: AnyObject) {
random = arc4random_uniform(3)
//switch goes here.
}