【发布时间】:2018-07-02 11:33:03
【问题描述】:
似乎是一个微不足道的问题,但我无法编译。 无论是在游乐场还是在普通的 swift ios 项目中。 (请注意,我没有使用 Storyboard,这就是为什么我不需要/关心 init?(coder) 部分..it;s jsut 必须包含它,否则编译器会抱怨它。)
class SegmentedControl: UISegmentedControl {
let configuration: [String]
required init(configuration: [String]) {
self.configuration = configuration
super.init(items: configuration)
}
required init?(coder aDecoder: NSCoder) { fatalError() }
}
let x = SegmentedControl(configuration: ["a","b"])
它抱怨没有实现指定的初始化程序。
致命错误:对类使用未实现的初始化程序“init(frame:)” '__lldb_expr_167.SegmentedControl'
我不明白这里发生了什么。指定的初始化器不是 UISegmentedControl 的 init(items:) 吗?我在我的子类指定初始化器中调用它。
【问题讨论】:
-
它对我来说编译得很好。 (注意,我编辑了你的问题并删除了空白行。另外,我将
let x...移动到了viewDidLoad。我编辑错了吗?(我不使用游乐场,但它在新项目中工作正常。 )