[iOS] memo app

Zoe·2022년 8월 14일
0

iOS

목록 보기
9/39

memo app


✅ main layout

1️⃣ navigation controller

  • navi : 실제로 표시되는 화면이 아니고 화면이동을 관리
  • root view : 기본적으로 목록을 표시할 수 있도록 table view가 추가됨
  • view : 버튼이나 이미지같은 control, 하나 이상의 view가 모여서 화면을 구성
  • is initial View Controller : 드래그해서 시작화면을 바꿀 수도 있음
  • navigation controller를 사용하면 화면 제목과 버튼이 자동으로 추가. 뒤로가기도 자동 추가
  • 라지 타이틀 모드 : prefers large titles

✅ memo class

  • Model group -> Model.swift
  • 내용과 날짜 저장

✅ 메모 목록 구현

  • 일단 배열에 임시적으로 저장
  • table view : 하나의 데이터를 셀로 표현
  • 프로토타입 셀 : 여기서 셀을 디자인
  • 프로토타입 셀이 하나면 하나의 셀 디자인을 사용한다는 의미. 얼마든지 추가 가능
  • Table View Cell : identifier에 적절한 값을 반드시 입력해야 함. 아니면 크래시 발생
  • 테이블뷰가 데이터를 표시하도록
  • ViewController class는 반드시 UIViewController class를 상속하거나, UIViewController class를 상속한 다른 클래스를 상속해야 함.

MemoListTableViewController

  • 신과 클래스를 연결해줘야 함.
  • numberOfRowsInSection : 더미데이터의 수를 리턴
// 어떤 디자인으로 어떤 데이터를 표시해야 하는지 알려주는 메소드
// 개별 셀을 화면에 표시할 때마다 반복적으로 호출하는 메소드
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
		// 1. identifier를 사용해서 셀 디자인을 가져옴
        // 셀이 비어있는 상태
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)

        // Configure the cell...
        
        // 2. 표시할 데이터를 가져옴
        let target = Memo.dummyMemoList[indexPath.row]
        // 3. 서브타이틀에 있는 두 개의 레이블을 채움
        cell.textLabel?.text = target.content
        cell.detailTextLabel?.text = target.insertDate.description

        return cell
    }

✅ 테이블뷰 구현 이론

테이블 뷰 배치

테이블 뷰 컨트롤러를 사용함으로써 테이블 뷰 배치하는 부분이 자동으로 처리됨.

프로토타입 셀 디자인, 셀 아이덴티파이어 지정

  • Style : Subtitle
  • identifier : cell

데이터 소스, 델리게이트 연결

  • 테이블 뷰 컨트롤러가 자동으로 처리해줌.
  • 데이터 소스 : 표시해야 할 친구가 몇명인지, 어떤 디자인으로 표시해야 하는지, 어떤 데이터를 표시해야 하는지 알려줌
  • UITableViewController를 상속하고 있음 -> UITableViewDataSource를 채택
  • 테이블뷰는 항상 데이터 소스한테 물어봄
  • 데이터 소스에 구현되어 있는 메소드를 호출해서 물어보는 것

데이터 소스 구현

델리게이트 구현

✅ 새 메모 쓰기

+ 버튼

  • modal
  • sheet : 화면이 순서대로 쌓여 있는 것처럼 표시됨
  • segue : 신 사이 전환을 처리
  • text field : 한 줄
  • text view : 여러 줄

✅ 저장 구현

  • Alert View : 화면 중간 구현
  • Action Sheet : 화면 아래 구현, 3개 이상 옵션
  • 노티피케이션 : 라디오 방송. 앱을 구성하는 모든 객체로 전달되는 브로드캐스트

✅ 메모 보기 화면

  • Push : 오른쪽에서 왼쪽으로 슬라이드 돼서 표시됨
  • Pop : 왼쪽에서 오른쪽으로 슬라이드 돼서 표시됨
profile
iOS 개발자😺

0개의 댓글