본문 바로가기

IOS

나만의 iOS 앱 개발 입문 : iOS개발 강의 3주차

3주차 배운 것들

투두리스트앱 / UITableView / UIAlertViewController / UserDefaults
일기앱 / UITabBarController / UICollectionView / NotificationCenter

 

이번 3주차에는 투두앱과 일기장앱 두가지 앱을 바탕으로 3주차를 풀어나갔습니다. 워낙 코드양도 많아지고 뭔가 이렇게 까지 코드가 많은 게 정상인건가 싶기도 하고 처음 배우는 입장에서 집중하고 듣지 않는다면 바로 바로 이해하기 어렵겠다는 생각이 들어 복습이 필요할 것 같다는 생각이 들었습니다. 가장 헷갈렸던 부분은 아무래도 NotificationCenter인 것 같습니다. 플러터에도 관련 개념이 있는데 해당 이벤트들에 것들을 관련 뷰에 전부 적어주고 써야하니 코드도 엄청 길어지고 강의도 한 강의당 40분씩이나 되어 이해하기도 좀 어려워 좀더 개념을 쉽게 도식화해서 풀어줬으면 어땠을까 하는 아쉬움이 남습니다. 이번에도 역시 큰그림 위주로 개념 정리로 3주차를 마무리 해볼까 합니다.

 

1. 투두리스트앱

기능상세

-TableView에 할 일을 추가할 수 있다.

-TableView에서 할 일을 삭제 할 수 있다.

-TableView에서 할 일을 재정렬할 수 있다.

-할 일들을 데이터 저장소에 저장을 하여 앱을 재실행하여도 데이터가 유지되게 한다.

 

UITableView: 데이터를 목록 형태로 보여줄 수 있는 가장 기본적인 UI컴포넌트이다.

여러개의 셀을 가지고 있고 하나의 열과 여러줄의 행을 지니고 있으며 수직으로만 스크롤이 가능하다.

 

UITableViewDataSource: 데이터를 받아 뷰를 그려주는 역할

UITableViewDataSource는 테이블 뷰를 생성하고 수정하는데 필요한 정보를 테이블 뷰 객체에 제공 / 관련 메소드 (필수2개 옵셔널 9개)

 

UITableViewDelegate: 테이블 뷰의 동작과 외관을 담당

UITableViewDelegate는 테이블 뷰의 시각적인 부분을 설정하고, 행의 액션 관리, 액세서리 뷰 지원 그리고 테이블 뷰의 개별 행 편집을 도와줌. / 관련 메소드 (옵셔널 11개)

 

UITableViewDataSource에 정의된 메소드들을 통해 테이블뷰에 할 일 목록을 표시하고 삭제할 수 있게 만들고 순서가 변경되게 만들었다.할일 목록에서 할일 선택 시 UITableViewDelegate에 정의된 DidSelectItemAt메소드를 이용해 이 메소드 안에서 할 일들이 선택되었을 때 체크마크가 표시되게 해주었다.

 

UIAlertViewController: 알람창을 구현한다.

 

UserDefaults: 런타임 환경에서 동작을 하면서 앱이 실행되는 동안 기본 저장소에서 접근해 데이터를 기록하고  가져오는 역할을 하는 인터페이스이다. 로컬에 저장할 할 일들을 등록하고 앱을 재실행 했을 때 로컬에 저장할 할 일들을 불러오는 기능 구현

 

2. 일기앱

기능상세

- 일기장 탭을 누르면 일기 리스트를 표시할 수 있다.

- 즐겨찾기 탭을 누르면 즐겨찾기한 일기 리스트를 표시할 수 있다.

- 일기를 등록, 수정, 삭제, 즐겨찾기할 수 있다.

UITabBarController:  다중 선택 인터페이스를 관리하는 컨트롤러

UICollectionView : 데이터 항목에 정렬된 컬렉션을 관리하고 커스텀한 레이아웃을 사용해 표시하는 객체

NotificationCenter: 등록된 이벤트가 발생하면 해당 이벤트들에 대한 행동을 취하는 것, 한마디로 앱 내에서 아무데나 메세지를 던지면 

앱 내 아무데서나 이 메세지를 받을 수 있게 해주는 것이 역할이다.(각 화면에서 일기 수정, 삭제, 즐겨찾기 이벤트를 관찰하고 있다가 이벤트가 발생하면 그에 따른 처리를 해줌)

 

---

자잘한 xCode만의 불편함

Outlet변수를 연결하려는데 Cell이 연결이 되지 않는다?

Xcode의 고질병 assistant로 Cell이 잘? 잡히지 않는다. viewController는 자동으로 나오는데 class로 된 cell은 잘 안잡힘

cell에 해당하는 파일을 option키와 누르면 자동으로 뜸(자동으로 이중창 띄어줌)

아니면 cmd + shift + O 키를 써서 보고 싶은 파일명을 검색해서 띄운 후 하기(손수 이중창 띄어서 해야함)