Отчет о сбоях Firebase: что означает закрытие #number?
Я видел, что отчеты о сбоях Firebase:
已 崩溃 : com.apple.main-thread EXC_BREAKPOINT 0x0000000104a5be14
0 IOS LoginRegisterInputView.swift - 第 328 行 закрытие # 5 в LoginRegisterInputView.initRegisterUI ()
1 Затем $ S4ThenAAPAARlzCrlE4thenyxyxKXEKF + 32
2Просмотреть учетную запись входа в систему. Зарегистрироваться.initRegisterUI ()
3 IOS LoginRegisterInputView.swift - 第 225 行 LoginRegisterInputView.initUI (style:)
4 IOS LoginRegisterInputView.swift - 第 42 行 специализированный LoginRegisterInputView.init (стиль: корень:)
Что такое # 5 в данном случае?
Я думаю, что это пятое замыкание в методе initRegisterUI()
Вот соответствующий код:
func initRegisterUI() {
self.firstTextfield.keyboardType = .emailAddress
self.firstTextfield.becomeFirstResponder()
self.secondTextfield.isSecureTextEntry = true
self.forgetPwButton.removeFromSuperview()
self.firstTextfield.rx.controlEvent([.editingDidEnd,.editingChanged]).asObservable()
.subscribe(onNext: {[weak self] _ in
guard let strongSelf = self else { return }
strongSelf.clearButton.isHidden = strongSelf.firstTextfield.text!.count < 1
}).disposed(by: rx.disposeBag)
let secureButton = UIButton().then {
$0.isSelected = false
$0.setImage(mImage(name: "login_icon_nosee"), for: .normal)
$0.setImage(mImage(name: "login_icon_see"), for: .selected)
}
self.addSubview(secureButton)
secureButton.snp.makeConstraints { (make) in
make.centerY.equalTo((self.secondTextfield)!)
make.width.equalTo(28)
make.height.equalTo(24)
make.right.equalTo(self.clearButton.snp.right)
}
secureButton.rx.tap.subscribe(onNext:{ [weak self] in
guard let strongSelf = self else { return }
Analysis.shared.push(EVENT_SIGNIN_DISPLAY)
secureButton.isSelected = !secureButton.isSelected
strongSelf.secondTextfield.isSecureTextEntry = !secureButton.isSelected
let text = strongSelf.secondTextfield.text
strongSelf.secondTextfield.text = nil
strongSelf.secondTextfield.text = text
}).disposed(by: rx.disposeBag)
let registerProtocolLabel = UILabel().then {
let string = "RegisterIterm".localized().replacingOccurrences(of: "<a>", with: "+").replacingOccurrences(of: "</a>", with: "+")
let array:[String] = string.components(separatedBy: "+")
$0.font = mThemeMinFont
if array.count > 0 {
$0.attributedText = (array[0].color(mRGBA(120, 120, 120, 1)) + array[1].color(mThemePinkColor).underline + array[2].color(mRGBA(120, 120, 120, 1))).attributedText
}
$0.textAlignment = .left
$0.numberOfLines = 0
$0.lineBreakMode = .byWordWrapping
$0.rx.tapGesture().when(.recognized)
.subscribe(onNext:{ _ in
AppUtils.jumpToWebView(route: AppUtils.getFunctionUrl(.term))
}).disposed(by: rx.disposeBag)
}
let registerProtocolAlertLabel = UILabel().then {
$0.text = "RegisterItermAlert".localized()
$0.textColor = mThemePinkColor
$0.font = mThemeMinFont
$0.isHidden = true
$0.textAlignment = .left
$0.numberOfLines = 0
$0.lineBreakMode = .byWordWrapping
}
// ......
Связанные строки:
Код содержит ошибки и неприятные.Это написано не мной, а моим коллегой.
Теперь я отвечаю за ошибки.
Проверяя документ Firebase , он очень лаконичен, Без подробностей.