0
convenience init(title: String!,
datePickerMode: UIDatePickerMode,
selectedDate: Date!,
origin view: UIView!) {
self.init(title: title,
datePickerMode: datePickerMode,
selectedDate: selectedDate,
doneBlock: { [weak self] (_, date , _) in
guard let sself = self else { return }
sself.done.next(date as! Date)
}
,
cancel: { [weak self] (_) in
guard let sself = self else { return }
sself.cancel.next()
}
,
origin: view)
しかし、私は、コンパイラのエラーを取得:迅速なコール・自己
'self' used before self.init call
私は第1の閉鎖はnilで初期化し、直後に設定して、それを周りに働きました。
convenience init(title: String!,
datePickerMode: UIDatePickerMode,
selectedDate: Date!,
origin view: UIView!) {
self.init(title: title,
datePickerMode: datePickerMode,
selectedDate: selectedDate,
doneBlock: nil,
cancel: nil,
origin: view)
self.onActionSheetDone = { [weak self] (_, date , _) in
guard let sself = self else { return }
sself.done.next(date as! Date)
}
self.onActionSheetCancel = { [weak self] (_) in
guard let sself = self else { return }
sself.cancel.next()
}
しかし、私は最初の方法でそれを行う際の問題を理解していません。 いくつかの情報をお寄せいただきありがとうございます