[iOS] 시간표 프로젝트 - 5

한지석·2022년 1월 27일
0

iOS

목록 보기
5/12

기능 구현의 아이디어 및 학습에 의해.. 블로그 업데이트가 뜸했으나, 그동안 했던 기능 구현을 이제는 써야겠다 싶어서 글을 올린다.

같이 프로젝트를 진행하는 팀장분께 강의들의 데이터베이스를 어떤식으로 관리해야할지 감이 안와 한번 여쭤봤었다. 답변은 강의들이 저장되어있는 외부 데이터베이스를 만든 후, 사용자가 외부 데이터베이스를 받지 않았다면 내부 데이터베이스로 삽입, 데이터베이스를 가지고 있다면 그대로 앱이 실행되는 로직을 사용하면 된다고 하셔서 그에 대한 코드들 및 데이터베이스에서 데이터 관리 등 다양한 기능에 대해서 공부를 했었다.

1. JSON python으로 강의 데이터 관리.

지저분한 강의 데이터를 내가 원하는 형태 및 보기 좋게 수정하여 데이터베이스에 넣어주는 작업을 진행했다. 변경해준 이유는 일단 지저분해서 뭐가 뭔지 계속 헷갈리는 점. 두번째는 시간표에 강의 추가하는 기능 작업 시 외부 라이브러리를 사용했기 때문에 그에 맞는 변수명으로 쉽게 넣어주기 위함이다.

발생했던 문제들

  1. 외부 DB -> 내부 DB로 넣는 작업을 수행중 첫 데이터만 삽입된 후 그 이후의 데이터는 삽입되지 않는 현상
    --> 내부 DB를 불러주는 코드를 for문 밖에서 최초 선언 후 실행하여 발생했던 오류.

2. 외부 DB(firebase) 구현 및 외부 데이터 -> 내부 DB(realm)로 삽입.

외부 데이터를 내부 데이터로 옮기는 작업을 진행하는 코드다. countDB는 외부 데이터베이스의 데이터 수를 카운트 해주고, 그 데이터 수 만큼 내부 데이터베이스로 옮겨주는 작업이 진행된다. 여기서 추가로 해줘야 할 기능은 외부 DB 버전 = 내부 DB 버전을 체크하는 코드를 구현 해야하고, 일치할 경우 바로 실행 / 불일치시 내부 DB에 강의 데이터 업데이트, 일부 시간표 데이터들을 수정해줘야 하며, 데이터가 잘 불러와지는지 수시로 검사해주어야 한다.
profile
한지석일대기

0개의 댓글