如何从swift中的文件夹中获取随机图像?

时间:2016-08-06 21:33:16

标签: ios swift uiimageview

到目前为止,我已经创建了一个图像文件夹,我可以将其中一个图像分配给UIImageView

但我现在要做的是创建一个随机生成器,它将从文件夹中选择一个随机图像,所以如果我要创建一个按钮,我可以单独和随机地显示所有图像{{ 1}}。

然而,这个文件夹将有超过100个图像,所以我不想将每个图像硬编码到一个数组中。此外,图像的名称必须是图像本身的唯一名称。

我一直在网上搜索,但找不到有关如何编码符合我需求的信息。那么如何在swift中从文件夹中获取并显示随机图像?

2 个答案:

答案 0 :(得分:3)

您可以像这样命名图像

image_0
image_1
image_2

然后使用此代码填充UIImageView

let numberOfImages: UInt32 = 100
let random = arc4random_uniform(numberOfImages)
let imageName = "image_\(random)"
imageView.image = UIImage(named: imageName)

更新

由于您不想重命名图像,因此可以创建一个plist文件(类型数组),您可以在其中放置图像的所有名称

enter image description here

最后

func loadRandomImage() {
    let path = NSBundle.mainBundle().pathForResource("Images", ofType: "plist")!
    let names = NSArray(contentsOfFile: path) as! [String]
    let random = Int(arc4random_uniform(UInt32(names.count)))
    let imageName = names[random]
    imageView.image = UIImage(named: imageName)
}

答案 1 :(得分:1)

您需要创建一个字符串文件名数组并从数组中选择一个随机文件名,或者您需要使用文件管理器(NSFileManager)来获取文件夹中的文件列表然后选择来自THAT数组。虚空是非常困难的。