IBOutlet
名称如upperIconSet1View
,upperIconSet2View;
,然后为其中的观看frameIconView11
,frameIconView12
,frameIconView13
,frameIconView21
, frameIconView22
这些名字可以在以后引起任何问题吗?
它们是否符合命名惯例?
还有其他名字建议吗?
答案 0 :(得分:1)
是的,您可以在插座名称中输入数字。出口名称可以是任何Swift或Objective-C标识符。在两种语言中,标识符的任何字符都可以是除第一个字符之外的数字。例如,这是合法的(但很难打字):
@IBOutlet var é9: UIView!
但是,我担心你想要几个带编号的名字,因为你想循环遍历它们,如下所示:
@IBOutlet var view1: UIView!
@IBOutlet var view2: UIView!
@IBOutlet var view3: UIView!
func doSomething() {
for i in 1 ... 3 {
// Not real syntax
view$i.backgroundColor = .red
}
}
虽然有办法使这项工作成功,但要么需要额外的工作来维护,要么使用更高级(令人困惑的)API。如果您只想存储一组视图,请将您的插座设为一个数组:
@IBOutlet var views: [UIView] = []
func doSomething() {
for view in views {
view.backgroundColor = .red
}
}
这将在storyboard / xib编辑器中显示为“outlet collection”,您可以将它同时连接到多个目标。