설정화면 구현시 궁금한 점
위 인스타그램 설정화면 처럼
1) 테이블뷰에서 이름설정, 생년월일 설정, 로그아웃 설정을 할 때, 해당 row 선택시
각 테이블뷰의 indexPath를 알아내서
서로 다른 뷰컨으로 보내는 것이 일반적인가?
2) 혹은 같은 뷰컨으로 보내지만, 하단의 내용만 달라지게 하는 것인가?
=> 일반적으로는 1)으로 화면마다 하나씩 뷰컨을 따로 만듬!
+ didSelectRowAt에서 선택한 indexPath 정보를 기반으로 다른 뷰컨으로 보내는 방법은 무엇인가?
extension SettingViewController: UITableViewDelegate {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let titleLabel = cellTitle[indexPath.row]
print(titleLabel)
print(indexPath)
if indexPath == [0, 0] {
guard let vc = storyboard?.instantiateViewController(withIdentifier: "settingDetail") as? SettingBabyNameViewController else {
return
}
navigationController?.pushViewController(vc, animated: true)
} else {
guard let vc = storyboard?.instantiateViewController(withIdentifier: "settingDday") as? SettingDdayViewController else {
return
}
navigationController?.pushViewController(vc, animated: true)
}
}
}
우선 이렇게 구현은 했지만 개똥같은 코드다ㅎ.ㅎ; 릴리즈 우선하고 리팩토링 해나갈 예정 ㅠ
리팩토링 필요 부분: didSelect하는 Row의 순서만 바꿔도 바꿀게 많아져서 메소드도 나누고 Setting관련 모델도 만들어보기!
'[iOS] App Development' 카테고리의 다른 글
[iOS] UIToolbar에서 UIBarButtonItem Alignment 조정하기, 양끝정렬로! programmatically (0) | 2021.12.18 |
---|---|
[iOS] 다른 뷰컨의 함수 호출하기 : Call Another Viewcontroller's Function(NotificationCenter) (0) | 2021.12.16 |
[iOS] 디자인패턴 : MVVM (1) | 2021.12.03 |
[iOS] 기본 개념 정리 #9 : FireStore 적용 / 데이터 추가 (0) | 2021.11.13 |
[iOS] 기본 개념 정리 #8 : UITableVieCell, Cell.xib (0) | 2021.11.08 |