질문
현재 개인 프로젝트에서 realm을 사용해서 데이터 저장을 구현해보고자 합니다. (UIKit으로 해보고있습니다.)
1.
달력을 이용해서 하루에 한 개의 데이터만 추가하려고 하는데 어떤식으로 데이터 구조를 만들어야 하는지 감이 잘 안잡힙니다.
2.
달력의 날짜를 누르면 그 값을 호출해서 .filter를 이용해 해당 날짜에 있는 값만 띄우고자 합니다. 하지만 한 번만 호출된 후 더 이상 호출이 되지않아 어떤 문제인지 궁금합니다.
3.
(가능하다면) MVVM패턴에 대해서 공부하고 있습니다. Rx를 사용해보고 있는데 값이 바인딩되지 않아 어떻게 해결할 수 있는지 궁금합니다.
화면캡쳐
위 질문에 해당하는 질문의 링크나 스크린샷을 여기에 추가해 멘토분들이 참고할 수 있도록 하세요.
다음과 같이 캘린더를 눌렀을 때, 날짜에 값이 있다면 정보들을 채워주려고 합니다.
하나의 날짜에는 모든 데이터들이 1개씩만 입력되게끔 하고자 합니다.
캘린더는 FSCalendar 라이브러리를 사용하고 있고,
“selectedDateValue” 는 날짜를 선택했을 때, 변화하는 날짜 String값입니다.
이 값을 토대로 filter를 해서 값이 있는지 유무를 판단하고 있다면 text값을 변화시키고자 합니다.
다음과 같이 처음 날짜를 선택했을 때는 값을 불러오지만 그 다음부터는 값을 불러오지 않습니다..!
프로젝트 주소
위 질문에 해당하는 질문의 링크나 스크린샷을 여기에 추가해 멘토분들이 참고할 수 있도록 하세요.
현재 연습 진행중인 파일입니다.
HomeHomeViewController
HomeViewModel
에 질문사항 코드들이 있습니다.
진행 내용
•
질문 답변
1.
달력을 이용해서 하루에 한 개의 데이터만 추가하려고 하는데 어떤식으로 데이터 구조를 만들어야 하는지 감이 잘 안잡힙니다.
•
realm 데이터를 filter 했을 때 반환되는 데이터가 있으면 업데이트, 없으면 추가되도록 처리
•
realm에 저장할 데이터 타입에 @persisted 활용하도록 개선
•
RealmManager 객체 활용하기, 싱글톤 패턴 적용하기
2.
달력의 날짜를 누르면 그 값을 호출해서 .filter를 이용해 해당 날짜에 있는 값만 띄우고자 합니다. 하지만 한 번만 호출된 후 더 이상 호출이 되지않아 어떤 문제인지 궁금합니다.
•
데이터 update 로직이 누락된 것이 원인이었음
3.
(가능하다면) MVVM패턴에 대해서 공부하고 있습니다. Rx를 사용해보고 있는데 값이 바인딩되지 않아 어떻게 해결할 수 있는지 궁금합니다.
•
label.text 값을 할당하는 로직이 누락된 것이 원인이었음
•
Input/Output Model 활용하는 예시 코드 참고 - https://github.com/tailec/ios-architecture
•
추가적인 질문/답변 및 코드리뷰
◦
진행한 프로젝트 내용을 이력서에 어필하기
◦
라이브러리 사용 시 면접 빈출질문
◦
◦
화면 전환 로직
◦
UserDefaultsManager 객체 추가, 싱글톤 적용
◦
접근제어자
◦
UICollectionViewCell prepareForReuse()
◦
lazy 키워드
◦
static property로 커스텀 UIColor 관리하기