ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 일기장 앱
    iOS/패스트캠퍼스(앱제작) 2022. 4. 20. 21:37

     

     

     

    < 주요 기능 >

    1. 일기장 작성/수정

       - 유효성검사: 세가지 항목이 모두 작성되어야 Done버튼 활성화
      - notification center 

    2. 일기장을 등록 할때마다 첫번째화면(UICollectionView)에 추가
        - delegate패턴

    3. 일기장 삭제
         - delegate 패턴: detailViewController에서 삭제 전달 -> UICollectionView에서 삭제 구현
         - notification center 패턴

    4. 즐겨찾기 기능
       - fiter고차함수 활용 

     


     

    1. 일기장 작성 / 수정

    - 유효성 검사

    textView는 UITextViewDelegate를 통해 값 변화 감지

    - notification center를 통해, DiaryDetailViewController에서 수정 버튼 클릭시  수정된 내용을
       WriteDiaryVC, UICollectionVC 두 곳에 전달

     

    2. delegate로 데이터 전달
    - diary구조체 정의
    - WriteDiaryViewController에 protocol정의 (메소드 파라미터로 diary객체 전달)

    - 일기장 등록 버튼 클릭시 마다 diary객체 생성, delegate로 객체 전달

     

    - UICollectionView에서 delegate 메소드 구현 -->  정의한 diaryList에 생성된 diary객체 추가

    - UICollectionViewDateSource와 UICollectionViewDelegate를 통해 diary객체들을 화면에 표시

    - Diary구조체 정의

     

     

    3. 일기장 삭제

    3.1 delegate

    - UICollectionViewController에서 특정 collectionViewCell 선택 시 해당 cell의 diary를 DiaryDetailViewController에 전달 

    - DiaryDetailViewController에서 삭제할 diary의 indexPath전달
       (전달하는 곳에서 protocol 정의)

    - UICollectionViewController에서 indexPath를 전달받아 diaryList와 CollectionView에서 diary삭제
      (받는 곳에서 protocol 메소드 구현)

     

    // 1대1로만 데이터전달 가능

    // 일기장 상세 화면에서 삭제,즐겨찾기 시 -> 일기장 화면으로 전달

    // 일기장 화면에서  -> 일기장 상세화면 이동시. 일기장 화면에만 delegate가 데이터 전달 가능

    // 즐겨찾기 화면에서 -> 상세화면 이동시.         즐겨찾기 화면에만 delegate가 데이터 전달 가능

     

    3.2 notification center

    일기장 상세화면에서 삭제/즐겨찾기 선택 시,  일기장화면 & 즐겨찾기 화면 모두에 이벤트 전달

    - 일기장 상세화면에서 notification 등록 (post)

    - 일기장화면에서 notification 옵저빙 (addObserver)

    - 즐겨찾기 화면에서 notification 옵저빙 (addObserver)

     

    'iOS > 패스트캠퍼스(앱제작)' 카테고리의 다른 글

    날씨 앱  (0) 2022.05.08
    타이머 앱  (0) 2022.05.08
    할일 리스트(To-Do List) 앱  (0) 2022.04.03
    계산기 앱  (0) 2022.04.03
    LED전광판 앱  (0) 2022.04.01

    댓글

Designed by Tistory.