问题:如何使用默认属性值初始化对象?可以覆盖类中的init来创建对象吗?
我想避免使用视图控制器输入对象的属性数据。我不是从外部来源提取数据。只是想将数据保存在单独的文件中,比如类文件,因为应用程序涉及大量文本。
我想到的对象看起来像是具有许多属性的典型类对象:object1(prop1:“string”,prop2:[string],prop3:[string]等等...... )但是在同一个类中创建,以插入到一个对象数组中。
答案 0 :(得分:0)
使用无名枚举(类似于名称空间)来存储文本。然后只引用默认初始值设定项中的那些。
enum StaticText {
static let A = "A"
static let B = "B"
static let C = "C"
}
class SomeClass {
let A = StaticText.A
let B = StaticText.B
let C = StaticText.C
}
答案 1 :(得分:0)
制作使用便利初始化程序的扩展程序:
public class ToolBoardView: UIVisualEffectView {
public var closeButton = ToolBoardCloseButton()
public var imageSegments = UISegmentedControl (items: ["Subject","Frame"])
internal var sliderBackgrounds:[UILabel] = []
convenience internal init(
_ tag :Int,
_ p: inout [NSLayoutConstraint],
_ l: inout [NSLayoutConstraint],
_ target :Any,
_ hideAction :Selector
)
{
self.init(frame: CGRect.zero)
self.effect = UIBlurEffect(style: .light)
self.tag = tag
switch tag {
case 0:
break
case 1:
addFilterControls(&p, &l)
default:
break
}
closeButton = ToolBoardCloseButton(tag: tag, target: target, action: hideAction)
self.addSubview(closeButton)
turnOffAutoResizing()
makeControlsHidden(true)
}
}
这只是我拥有的一部分,但它应该让你去。
Here非常好地描述了我刚发布的内容。