Project/Memo

메모 목록 화면 구현

밤새는 탐험가89 2024. 1. 26. 14:50

 

 

 

 

 

UITableViewController 클래스를 상속받아 구현

핵심 내용

 

앱 델리게이트의 memoList 배열에 저장된 데이터를 읽어와 

테이블 뷰를 구성하는 것 

 

 

 

먼저 MemoListVC.swift 파일 내에 

앱 델리게이트 객체를 참조할 수 있도록 멤버 상수를 정의 

 

 

 

 

tableView(_ : numberOfRowsInSection: ) 메소드에 테이블 뷰 셀 개수를 결정하는 코드 구현

 

 

 

 

 

tableView(_: cellForRowAt:) 메소드를 통해 개별 행을 어떻게 구성할지 코드 구현

 

 

 

테이블 객체의 재사용 큐에서 프로토타입 셀의 인스턴스를 보면

iOS 시스템 리소스의 절야과 퍼포먼스를 위해 새로운 테이블 셀을 만들기보다 

이미 만들어진 셀을 재사용할 수 있도록 처리 

 

 

 

 

Date() 타입의 날짜 정보를 String 타입의 regdate 변수에 담기 위해 

DateFormatter()를 이용하여 타입 변환

 

 

 

아래 구현한 코드는 다음과 같은 상황에서 동작

 

1. 다른 화면으로 이동했다가 다시 목록으로 돌아왔을 떄

2. 홈버튼을 눌러 앱이 백그라운드 모드로 내려간 후 다시 활성화되었을 때 

3. 기타 상황으로 뷰 컨트롤러가 스크린에 표시될 떄 

 

따라서 화면이 출력될 때마다 동작하는 viewWillAppear 메소드에 구현

 

 

 

viewWillAppear 메소드말고

viewDidAppear 메소드는 안되나?

 

 

두 메소드는 모두 화면이 나타날 때 호출된다는 것은 같지만, 

viewDidAppear은 화면이 다 나타나고 난 후에 호출

 

viewDidAppear 메소드로 구현하면

화면에 표시되고 난 후에 테이블 데이터가 갱신되므로 

한 박자 느리게 보이기 때문에 적합하지 않음