これは簡単な質問ですが、ここで何が問題なのか何時間もわかりませんでした。なぜviewcontrollerで渡された値がnilであるか
enum TypeOfAlert {
case success, error, warning, confirm
}
class MainAlertView: UIViewController {
var mode: TypeOfAlert!
var transitioner : CAVTransitioner
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
self.transitioner = CAVTransitioner()
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
self.modalPresentationStyle = .custom
self.transitioningDelegate = self.transitioner
setupAlertView()
}
private func setupAlertView() {
print(mode) // result is nil
}
convenience init() {
self.init(nibName:nil, bundle:nil)
}
required init?(coder: NSCoder) {
fatalError("NSCoding not supported")
}
}
は私がボタン
let vc = IFOMainAlertView()
vc.delegate = self
vc.mode = TypeOfAlert.confirm
self.present(vc,animated: true)
を押してMainAlertViewを開く
alertdialog表示するには、このコードを持っているが、私は印刷したり、VARモードをデバッグのいたときには常にnilです。どうして ?
viewDidLoad
方法にmode属性をデバッグ遅らせる私はあなたがsetupAlertMode、VAR「モード」のプリント値が、「モードの値を呼び出すのinitで – pmb言ったそれを取得できませんでした'あなたはinitの後に設定します –