カスタムビューを作成しようとしています。しかし、@IBOutlet
をバインドするとロードされないため、NIL(null)として起動するようです。@IBOutletにバインドすると、カスタムビューがメインビューにロードされません。
私の次のカスタムビューは、この(簡体字)
import UIKit
class CounterView: UIView {
private let progressLayer: CAShapeLayer = CAShapeLayer()
private var progressLabel: UILabel = UILabel()
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupView()
}
override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}
override func awakeFromNib() {
super.awakeFromNib()
setupView()
}
private func setupView() {
// setup the view
}
// some update and create methods on the progressLayer and progressLabel
}
あなたが見ることができるように、私はINITでそれをロードしていると私はそれが実際にロードするかどうかを確認するために、それらの内側の印刷方法を試してみました、そしてそれがないように見えます。
私のViewControllerは、1つのストーリーボードを使用するこのように見えます。
import UIKit
class ViewController: UIViewController {
@IBOutlet var counterView: CounterView!
}
だから私はcounterViewおよび/またはそのメソッドを呼び出そうとするたびに、私はこのエラーを取得しています:fatal error: unexpectedly found nil while unwrapping an Optional value
。
ストーリーボードでコンセントを正しく接続しましたか? –
私は馬鹿だと感じました、それは確かに私が忘れたものでした。私は最後の数時間、私を夢中にさせてくれました。 – Sigils