【发布时间】:2016-06-16 11:46:42
【问题描述】:
我相信我必须稍微清理一下我的代码,因为 Xcode 第一次开始在“索引”处冻结,我无法运行我的项目。我认为这很容易做到,但我不知道哪种方法是最好的。获得 36 个 UIImageViews...
@IBOutlet var Image1: UIImageView!
@IBOutlet var Image2: UIImageView!
@IBOutlet var Image3: UIImageView!
@IBOutlet var Image4: UIImageView!
@IBOutlet var Image5: UIImageView!
@IBOutlet var Image6: UIImageView!
@IBOutlet var Image7: UIImageView!
@IBOutlet var Image8: UIImageView!
@IBOutlet var Image9: UIImageView!
@IBOutlet var Image10: UIImageView!
@IBOutlet var Image11: UIImageView!
@IBOutlet var Image12: UIImageView!
@IBOutlet var Image13: UIImageView!
@IBOutlet var Image14: UIImageView!
@IBOutlet var Image15: UIImageView!
@IBOutlet var Image16: UIImageView!
@IBOutlet var Image17: UIImageView!
@IBOutlet var Image18: UIImageView!
@IBOutlet var Image19: UIImageView!
@IBOutlet var Image20: UIImageView!
@IBOutlet var Image21: UIImageView!
@IBOutlet var Image22: UIImageView!
@IBOutlet var Image23: UIImageView!
@IBOutlet var Image24: UIImageView!
@IBOutlet var Image25: UIImageView!
@IBOutlet var Image26: UIImageView!
@IBOutlet var Image27: UIImageView!
@IBOutlet var Image28: UIImageView!
@IBOutlet var Image29: UIImageView!
@IBOutlet var Image30: UIImageView!
@IBOutlet var Image31: UIImageView!
@IBOutlet var Image32: UIImageView!
@IBOutlet var Image33: UIImageView!
@IBOutlet var Image34: UIImageView!
@IBOutlet var Image35: UIImageView!
@IBOutlet var Image36: UIImageView!
override func viewDidLoad() {
let images = (1...6).map { UIImage(named: "Owl\($0)") }
let imageViewsArray = [Image1, Image2, Image3, Image4, Image5, Image6, Image7, Image8, Image9, Image10, Image11, Image12, Image13, Image14, Image15, Image16, Image17, Image18, Image19, Image20, Image21, Image22, Image23, Image24, Image25, Image26, Image27, Image28, Image29, Image30, Image31, Image32, Image33, Image34, Image35, Image36]
for view in imageViewsArray {
let randomIndex = Int(arc4random_uniform(UInt32(images.count)))
view.image = images[randomIndex]
}
}
我可以为所有 36 个图像一起制作一个 IBOutlet 吗?还是这样的? :-)
ViewDidLoad()here中的代码信息。
【问题讨论】:
-
我严重怀疑你必须在这里使用 UICollectionView 或 UITableView 来减少代码..this。删除派生数据(窗口-> 项目)并重新启动 xCode。之后应该可以正常工作。
-
@FruitAddict 谢谢!但我不知道如何将代码更改为 UICollectionView :-)
-
好吧,如果您在屏幕上显示 36 张图像,它们必须以某种形式的网格或列表排列。您可以用这些图像填充 36 个单元格,而不是拖动 36 个插座,这样代码就更清晰和可扩展了。
-
@FruitAddict 正如你在我的代码中看到的那样,我很糟糕。所以我必须给出一个具体的例子才能理解,对不起,伙计..
-
查找UICollectionView,很简单。
标签: ios swift uiimageview code-cleanup