UIViews集合的集合

时间:2014-08-09 15:27:13

标签: ios swift ios8 xcode6

在我的Swift应用程序中,我有9个出口:

 @IBOutlet weak var day1: UIImageView!
 @IBOutlet weak var day1Title: UILabel!
 @IBOutlet weak var day1Description: UILabel!

 @IBOutlet weak var day2: UIImageView!
 @IBOutlet weak var day2Title: UILabel!
 @IBOutlet weak var day2Description: UILabel!

 @IBOutlet weak var day3: UIImageView!
 @IBOutlet weak var day3Title: UILabel!
 @IBOutlet weak var day3Description: UILabel!

我想用一个整数作为关键,将这些组合在一起。所以1映射到day1,day1Title,day1Description。

这样我就可以将标签文本分配给上面的每一个,而不必引用特定的图像视图,标签和描述。

有任何想法/建议吗?

我想也许:

 Dictionary<int, Array<UIImageView, UILabel, UILabel>>

 Dictionary<int, Array<UIView>>

但我不太确定这是正确的举动。我可以以某种方式分配一个具有3个引用这些出口的属性的类吗?

或者也许是3个出口系列?

你觉得做什么好事?

谢谢!

1 个答案:

答案 0 :(得分:0)

为什么要使用带整数键的字典?一个由9个元素组成的数组也应该可以正常工作。此外,该值将更好地表示为元组而不是数组。

 Array<(UIImageView, UILabel, UILabel)>

[(UIImageView, UILabel, UILabel)]

结果

var views: [(UIImageView, UILabel, UILabel)]

…

views = [(day1, day1Title, day1Description),
         (day2, day2Title, day2Description),
         …
         (day9, day9Title, day9Description)]

…

var (imageView, titleLabel, descriptionLabel) = views[dayNumber - 1]