TIL 13

오늘 한 일 / 배운점

  • 개인 과제 Lv.2 (진행중)

과제

  • 개인 과제 Lv.2

    • 오토 레이아웃 적용하기

    • UIButton 또는 UISegmentedControl 사용하여 할 일 완료/미완료 상태 만들기

    • 할 일 완료되면 가로선 넣는 등.. 완료/미완료 상태에 따라 UI 변경

    • 오토 레이아웃 적용하기 UIButton 또는 UISegmentedControl 사용하여 할 일 완료/미완료 상태 만들기 할 일 완료되면 가로선 넣는 등.. 완료/미완료 상태에 따라 UI 변경

느낀점

소소한 배움 두가지

  1. 폴더링
    뭔가 파일들을 깔끔하게 정리해 보고 싶어서 폴더링에 대해 찾아봤다
    보통은 모듈화나 기능 단위로 파일 분리해서 폴더로 묶는다고 한다
    예를 들어 모델 클래스 파일, 뷰 컨트롤러 파일, 네트워크 관련 파일 등등

    1 현재 폴더를 나눌것도 없지만 뷰 컨트롤러라도 모아봤다 ㅋ..

  2. extension 활용
    스토리보드에서 테이블 뷰를 추가해서 IBOutlet으로 연결해서 코드에서 갖다 쓰는데
    어떤 코드를 보니까 extension을 쓰고 있는 거다.🧐 왜 그렇게 하나 보아하니
    extension을 사용하면 클래스의 코드가 각 기능별로 분리되어
    가독성이 좋아지고 유지 보수가 편리해진다는 것~!

    class ToDoViewController: UIViewController {
        @IBOutlet var tableView: UITableView!
        @IBOutlet var emptyTasksUILabel: UILabel!
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // 내용
        }
    
    
    extension ToDoViewController: UITableViewDelegate {
        // 내용
    }
    
    extension ToDoViewController: UITableViewDataSource {
        // 내용
    }
    

    위와 같이 UITableViewDelegateUITableViewDataSource 관련 메서드들이 서로 묶여 있어서
    코드를 쉽게 파악할 수 있어 가독성이 좋아지고 유지 보수에도 굿
    깔끔하게 코드 작성할 수 있도록 이런 거는 배워서 습관 들여야겠다

    2

    그 외에는 오늘은 정말.. 삽질을 많이 해서 수확이 없다 쩝
    할 일 추가하는 거를 뷰를 따로 만들어서 present modally로 아래서 올라오는 식으로도 해보고
    이것저것 해보다가 구현 과제 다시 읽어보니 UIAlertController 사용하라고 명시되어 있었다든지 orz..
    테이블 뷰에서 헤맨다든지..
    또 화면 나가면 데이터 날아가는 것도 막고 싶은데 어떻게 해야 할지 모르겠고

    일단 벌써 2시 10분이라 오늘은 자고 내일 다시 하나하나 해봐야겠다
    이번 주 목표는 과제 Lv.2까지라도 구현하기
    내일 하루 남았다!