Xcode 快速编码生成随机数并链接到图像和声音

Xcode 快速编码生成随机数并链接到图像和声音,xcode,swift,Xcode,Swift,我对编程和swift都很陌生(请友好!)。我有一个如何生成随机图像的工作示例(通过指定一个数字并使用Int(arc4random_uniform(x))。但是我不知道如何判断是否显示了此图像,然后将此声音分配给按钮。每次显示图像时,都会有一个匹配的声音。以我有限的经验,我只能考虑执行冗长的if语句?回答 将图像的名称传递给NSMutableString,不带扩展名(.png,或删除扩展名)。然后(希望音频文件与图像名称同名),您现在可以从mutableString调用音频文件 解释 例如,如果

我对编程和swift都很陌生(请友好!)。我有一个如何生成随机图像的工作示例(通过指定一个数字并使用Int(arc4random_uniform(x))。但是我不知道如何判断是否显示了此图像,然后将此声音分配给按钮。每次显示图像时,都会有一个匹配的声音。以我有限的经验,我只能考虑执行冗长的if语句?

回答

将图像的名称传递给
NSMutableString
,不带扩展名(.png,或删除扩展名)。然后(希望音频文件与图像名称同名),您现在可以从
mutableString
调用音频文件


解释

例如,如果您有一个名为
Dog.png
的图像,请将与该图像配套的音频文件命名为:
Dog.mp3
.mp3
是一个示例)。当用户选择
Dog
图像时,将该名称传递给
muatableString
。让我们调用
mutableString
名称
selectedImage

现在,
selectedImage
的值应为
.png
(或任何扩展名)。删除
selectedImage
的最后3个字母,如:

接下来,您要使用
选择图像
调用音频文件,并添加扩展名,如:

因此,
selectedImage
的值现在应该是:
dog.mp3
。您现在可以使用
selectedImgae
调用音频文件

希望这有帮助

编辑

以下是播放音频文件的代码:

var player:AVAudioPlayer!=nil//将是可选的,必须提供初始值设定项

let path = NSBundle.mainBundle().pathForResource("audioFile", ofType:"m4a")
let fileURL = NSURL(fileURLWithPath: path)
player = AVAudioPlayer(contentsOfURL: fileURL, error: nil)
player.prepareToPlay()
player.delegate = self
player.play()

写一个冗长的if语句。将它添加到你的问题中。嗨,我确实理解你说的话,这将很好地工作,但是我需要如何调用dog.mp3音频文件的帮助。很抱歉,如果这非常简单,但我只是在学习。
func appendString(_ aString: String)
let path = NSBundle.mainBundle().pathForResource("audioFile", ofType:"m4a")
let fileURL = NSURL(fileURLWithPath: path)
player = AVAudioPlayer(contentsOfURL: fileURL, error: nil)
player.prepareToPlay()
player.delegate = self
player.play()