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

한지석·2022년 1월 8일
0

iOS

목록 보기
2/12
post-thumbnail

UserDefaults

 앱 초기 실행 시 시간표 생성 여부를 판단하여 시간표 화면으로 바로 넘어가지게 하거나, 만들어진 시간표가 없다면 초기의 시간표 생성 화면으로 넘어가야 하는 기능이 필요했다. 이 기능을 구현하는데 굉장히 많은 시간을 썼는데 그 이유는...

1. Swift에 대한 지식 부족

2. AppDelegate에서 코드를 구현하려고 함.(과거의 코드)

3. 멘붕

이다 ..

  일단 방향을 잡는 데에 굉장히 오래 걸렸다. 데이터베이스를 따로 이용해서 거기서 유저가 시간표를 생성했는지 확인한 후에 진행을 시켜야한다고 생각했다.(물론 나중에 이 방법을 쓸 수 있음)
 그러나 일단 구글링을 통해 UserDefaults의 존재를 알았고, 이걸로 진행해도 괜찮겠다고 생각 했으나 ... 적용이 잘 되지 않았다. 과거의 질문들에 대한 대답에서는 AppDelegate 파일에서 구현해야 된다는 글이 많았는데, 알고보니 일정 버전 이후에는 SceneDelegate(!!!!)에서 작업을 해야한다는 것이었다.

  위의 코드로 성공 시켰는데, 일단 시간표 생성 완료의 버튼이 눌리면 --> isLogin라는 키에 데이터를 true로 set 해주었다. 그 후 SceneDelegate에서 isLogin의 Bool 값을 가져온 후 if문을 실행 시켜주었다.
 if == true 면 바로 시간표 화면으로 이동 시켜 주었고(rootViewController 이용) false(데이터 x)면 첫 화면을 그대로 rootViewController로 지정해주었다.

시간표 구현 : Elliotable

   시간표를 어떻게 구현할 지 고민하던 찰나 유일하게 찾은 시간표 라이브러리인 Elliotable을 발견했다. 다른 기능들을 구현하는 데에도 시간이 많이 걸릴 것으로 판단이 되어 과감하게(?) 라이브러리를 사용하도록 했고, test 해볼 겸 임시 시간표 데이터들을 가져와본 결과 !

아주 잘 실행이 되었다고 한다 . . 이 프로젝트에 굉장한 탄력을 불어주는 라이브러리다.
(참고 : https://github.com/della-padula/Elliotable)

profile
한지석일대기

0개의 댓글