앱 초기 실행 시 시간표 생성 여부를 판단하여 시간표 화면으로 바로 넘어가지게 하거나, 만들어진 시간표가 없다면 초기의 시간표 생성 화면으로 넘어가야 하는 기능이 필요했다. 이 기능을 구현하는데 굉장히 많은 시간을 썼는데 그 이유는...
이다 ..
일단 방향을 잡는 데에 굉장히 오래 걸렸다. 데이터베이스를 따로 이용해서 거기서 유저가 시간표를 생성했는지 확인한 후에 진행을 시켜야한다고 생각했다.(물론 나중에 이 방법을 쓸 수 있음)
그러나 일단 구글링을 통해 UserDefaults의 존재를 알았고, 이걸로 진행해도 괜찮겠다고 생각 했으나 ... 적용이 잘 되지 않았다. 과거의 질문들에 대한 대답에서는 AppDelegate 파일에서 구현해야 된다는 글이 많았는데, 알고보니 일정 버전 이후에는 SceneDelegate(!!!!)에서 작업을 해야한다는 것이었다.
위의 코드로 성공 시켰는데, 일단 시간표 생성 완료의 버튼이 눌리면 --> isLogin라는 키에 데이터를 true로 set 해주었다. 그 후 SceneDelegate에서 isLogin의 Bool 값을 가져온 후 if문을 실행 시켜주었다.
if == true 면 바로 시간표 화면으로 이동 시켜 주었고(rootViewController 이용) false(데이터 x)면 첫 화면을 그대로 rootViewController로 지정해주었다.
시간표를 어떻게 구현할 지 고민하던 찰나 유일하게 찾은 시간표 라이브러리인 Elliotable을 발견했다. 다른 기능들을 구현하는 데에도 시간이 많이 걸릴 것으로 판단이 되어 과감하게(?) 라이브러리를 사용하도록 했고, test 해볼 겸 임시 시간표 데이터들을 가져와본 결과 !
아주 잘 실행이 되었다고 한다 . . 이 프로젝트에 굉장한 탄력을 불어주는 라이브러리다.
(참고 : https://github.com/della-padula/Elliotable)