Advertisement
Guest User

Untitled

a guest
Aug 26th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  2. guard let sectionTypes = SectionTypes(rawValue: indexPath.section) else { return UITableViewCell() }
  3. switch sectionTypes {
  4. case .lastloginAt:
  5. guard
  6. let cell = tableView.dequeueReusableCell(withIdentifier: EditableInputTableViewCell.className, for: indexPath) as? EditableInputTableViewCell
  7. else {
  8. return UITableViewCell()
  9. }
  10. //TODO: 多國語系
  11. cell.fieldTitle.text = "上次登录时间"
  12. cell.requiredLabel.isHidden = true
  13. cell.set(isEditing: false)
  14. let loginAt = rxProfile.value?.lastLoginTime?.toString(format: "yyyy-MM-dd HH:mm:ss") ?? "----"
  15. cell.setLabel(text: loginAt)
  16. return cell
  17. case .basicFields:
  18. let model = self.viewModel.cellModels[indexPath.row]
  19.  
  20. switch model.fieldType {
  21. case .mobile:
  22. guard let cell = tableView.dequeueReusableCell(withIdentifier: MobileInputTableViewCell.className, for: indexPath) as? MobileInputTableViewCell else {
  23. return UITableViewCell()
  24. }
  25. let model = self.viewModel.cellModels[indexPath.row]
  26. cell.fieldTitle.text = model.title
  27. cell.requiredLabel.isHidden = true
  28. cell.set(isEditing: self._isEditing && model.valueEditable) //有些欄位是不可修改的
  29. cell.setLabel(text: model.value)
  30. cell.textField.text = model.value
  31. cell.setCountryCallingCodes(viewModel.countryCallingCodes)
  32. cell.confirmButtonDidTouchUpInsideClosure = { [weak cell = cell, weak viewModel = self.viewModel, weak self] button in
  33. guard let self = self, let value = cell?.textField.text else { return }
  34. viewModel?
  35. .updateProfile(fieldType: model.fieldType, value: value)
  36. .subscribe()
  37. .disposed(by: self.disposeBag)
  38. }
  39. return cell
  40. default:
  41. guard
  42. let cell = tableView.dequeueReusableCell(withIdentifier: EditableInputTableViewCell.className, for: indexPath) as? EditableInputTableViewCell
  43. else {
  44. return UITableViewCell()
  45. }
  46. let model = self.viewModel.cellModels[indexPath.row]
  47. cell.fieldTitle.text = model.title
  48. cell.requiredLabel.isHidden = true
  49. cell.set(isEditing: self._isEditing && model.valueEditable) //有些欄位是不可修改的
  50. cell.setLabel(text: model.value)
  51. cell.textField.text = model.value
  52. cell.confirmButtonDidTouchUpInsideClosure = { [weak cell = cell, weak viewModel = self.viewModel, weak self] button in
  53. guard let self = self, let value = cell?.textField.text else { return }
  54. viewModel?
  55. .updateProfile(fieldType: model.fieldType, value: value)
  56. .subscribe()
  57. .disposed(by: self.disposeBag)
  58. }
  59. return cell
  60. }
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement