꼼꼼한 재은씨의 스프위트 실전 편 챕터별 에필로그 정답을 블로그에 올리신다 하셨지만...
아무리 찾아봐도 없어 제가 해결한 것들은 올리고자 합니다.
고로 제 방식이 정답이 아니며, 해결하지 못한 문제들은 문제만 정리해 두겠습니다.
혹 제가 잘못된 방식으로 해결했거나, 해결하지 못한 에필로그 문제의 답을 알고 계신다면 댓글로 알려주시면 정말 감사하겠습니다.
제 개발 환경은 Xcode(ver. 11.3)입니다.
우선 Chapter1에 대해 간략히 설명을 하자면 간단한 메모를 저장하고 불러오는 앱을 만드는 챕터입니다.
메모에는 간단한 글과 사진 그리고 작성 날짜가 저장됩니다.
에필로그 1
카메라 사용할 수 있도록 만들기
pick 버튼을 클릭했을 때 저장앨범에서 사진을 불러오는 거나 카메라를 사용할 수 있도록 만들어야 합니다.
내 풀이:
우선 UIAlertController를 사용하여 카메라를 불러올 것인지 저장앨범을 불러올 것인지 선택하도록 만들었습니다.
저장앨범의 경우 기존의 UIImagePickerController를 present 하도록 만들고
카메라의 경우. sourceType을. camera로 변경한 후 present 하도록 만들었습니다.
에필로그 2
옵셔널 처리를 통해 캐스팅 미스시 앱이 다운되는 현상을 예방하기
tableView(_:cellForRowAt:) 메서드 내에서 cell을 불러올 때 아래와 같은 방식을 통해 불러옵니다.
이 때 !를 사용하게 되면 캐스팅 미스가 발생한 경우 앱이 다운되어 버립니다.
내 풀이:
재사용큐를 통해 cell을 받아오지 못했을 경우 새로 만든 MemoCell을 반환하도록 만들어주었습니다.
에필로그 3
세그웨이를 통하여 화면전환하기
세그웨이를 통해 화면을 전환하며 이전 ViewController가 가지고 있는 데이터를 전환될 ViewController에게 전달해 주어야 합니다.
내 풀이:
우선 각각 Cell과 상세화면을 Segue로 연결해 주었습니다.
이때 Identifier을 함께 설정합니다.
이후 prepare을 사용하여 값을 전달해 주었습니다.
아래 순서대로 동작합니다.
- 해당 segu.identifier에 해당되는지 확인합니다.
- MemoReadVC를 불러옵니다.
- 선택된 Cell의 index를 저장합니다.
- MemoReadVC내부에 있는 변수 param의 값을 변경합니다.
'IT 도서 > 꼼꼼한 재은 씨의 스위프트 실전편' 카테고리의 다른 글
꼼꼼한 재은씨의 스위프트 실전편 Chapter5 에필로그 (0) | 2020.01.05 |
---|