Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- guard let sectionTypes = SectionTypes(rawValue: indexPath.section) else { return UITableViewCell() }
- switch sectionTypes {
- case .lastloginAt:
- guard
- let cell = tableView.dequeueReusableCell(withIdentifier: EditableInputTableViewCell.className, for: indexPath) as? EditableInputTableViewCell
- else {
- return UITableViewCell()
- }
- //TODO: 多國語系
- cell.fieldTitle.text = "上次登录时间"
- cell.requiredLabel.isHidden = true
- cell.set(isEditing: false)
- let loginAt = rxProfile.value?.lastLoginTime?.toString(format: "yyyy-MM-dd HH:mm:ss") ?? "----"
- cell.setLabel(text: loginAt)
- return cell
- case .basicFields:
- let model = self.viewModel.cellModels[indexPath.row]
- switch model.fieldType {
- case .mobile:
- guard let cell = tableView.dequeueReusableCell(withIdentifier: MobileInputTableViewCell.className, for: indexPath) as? MobileInputTableViewCell else {
- return UITableViewCell()
- }
- let model = self.viewModel.cellModels[indexPath.row]
- cell.fieldTitle.text = model.title
- cell.requiredLabel.isHidden = true
- cell.set(isEditing: self._isEditing && model.valueEditable) //有些欄位是不可修改的
- cell.setLabel(text: model.value)
- cell.textField.text = model.value
- cell.setCountryCallingCodes(viewModel.countryCallingCodes)
- cell.confirmButtonDidTouchUpInsideClosure = { [weak cell = cell, weak viewModel = self.viewModel, weak self] button in
- guard let self = self, let value = cell?.textField.text else { return }
- viewModel?
- .updateProfile(fieldType: model.fieldType, value: value)
- .subscribe()
- .disposed(by: self.disposeBag)
- }
- return cell
- default:
- guard
- let cell = tableView.dequeueReusableCell(withIdentifier: EditableInputTableViewCell.className, for: indexPath) as? EditableInputTableViewCell
- else {
- return UITableViewCell()
- }
- let model = self.viewModel.cellModels[indexPath.row]
- cell.fieldTitle.text = model.title
- cell.requiredLabel.isHidden = true
- cell.set(isEditing: self._isEditing && model.valueEditable) //有些欄位是不可修改的
- cell.setLabel(text: model.value)
- cell.textField.text = model.value
- cell.confirmButtonDidTouchUpInsideClosure = { [weak cell = cell, weak viewModel = self.viewModel, weak self] button in
- guard let self = self, let value = cell?.textField.text else { return }
- viewModel?
- .updateProfile(fieldType: model.fieldType, value: value)
- .subscribe()
- .disposed(by: self.disposeBag)
- }
- return cell
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement