我们可以在 IBOutlet 名称中加入数字吗?
Can we put numbers in IBOutlet names?
IBOutlet
名称,如 upperIconSet1View
、upperIconSet2View;
,然后在其中查看 frameIconView11
、frameIconView12
、frameIconView13
、frameIconView21
, frameIconView22
这些名字以后会不会有什么问题?
它们是否符合命名约定?
还有其他名称建议吗?
是的,您可以在商店名称中加入数字。出口名称可以是任何 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 编辑器中显示为“插座集合”,您可以同时将其连接到多个目标。
IBOutlet
名称,如 upperIconSet1View
、upperIconSet2View;
,然后在其中查看 frameIconView11
、frameIconView12
、frameIconView13
、frameIconView21
, frameIconView22
这些名字以后会不会有什么问题?
它们是否符合命名约定?
还有其他名称建议吗?
是的,您可以在商店名称中加入数字。出口名称可以是任何 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 编辑器中显示为“插座集合”,您可以同时将其连接到多个目标。