· 성취/개선/학습한 내용 🏆 오늘은 권한의 끝판왕 coreLocation의 권한 설정과 승인 상태에 따른 이벤트를 학습했다. 쉽지는 않았지만 아직 할만한 것 같기도.. ㅎㅎ 그리고 이 과정에서 DispatchQueue 역시 맛보기를 했는데, 내일 조금 더 딥하게 학습할 예정이다. 나중에 정리할 예정이지만 DispatchQueue를 아르바이트생이라고 생각하면 조금 더 이해하기가 쉽다! Authorization Status Core Location Enum @frozen attributes DispatchQueue · 어려웠던 내용 😵😵💫 Core Location의 권한을 주고, 승인 상태에 따라서 어떻게 할건지 코딩하는 흐름이 살짝 어려웠다. 조금 여기 코드 왔다가 저기 코드 갔다가 하는 느낌이지만, ..
· 성취/개선/학습한 내용 🏆 오늘은 많은 앱들이 우리에게 자주 보내는 알림에 대해서 공부했다. 아이폰 알림은 보통 시간이나 캘린더, 위치를 트리거로 해서 알림을 보내고 앱의 백그라운드 상태에서 알림을 보내는 방법과 카톡처럼 포그라운드 상태에서도 보낼 수 있다는 것을 학습했다. 이걸 공부하고 나니 카카오톡이라는 앱이 세상 대단하다고 생각이 들었다. 단순히 알림을 보내는 순간을 처리하는 것뿐만 아니라, 그 알림을 누르면 해당 화면으로 이동하는 것 등 정말 수많은 설정과 코드들이 쓰여 있겠구나라는 생각이 든다. UserNotification local remote Custom Font UIButton Configuration · 어려웠던 내용 😵😵💫 (사실 어제 어려웠던 내용이긴 하지만...) api를 받..
· 성취/개선/학습한 내용 🏆 계속해서 네이버 API를 이용해서 상품을 검색하고 좋아요 버튼을 할 수 있는 과제를 만들고 있다. 만들다 보니 테이블 뷰를 이용하는데 이때 cell을 만들어서 테이블 뷰 안에 넣어준다. 그런데 테이블 뷰 네이밍을 조심할 필요가 있다고 생각이 들었다. 같은 글자로 시작하거나 중간의 글자만 다르다면 셀을 설정하거나 부를 때 비슷한 이름의 다른 셀을 불러서 앱이 꺼지는 에러가 발생할 수 있기 때문이다. 그래서 네이밍이란 것도 참 중요하고 구분할 수 있는 규칙도 분명히 있어야겠다고 생각이 들었다. NSMutableAttributedString · 어려웠던 내용 😵😵💫 텝바나 내비게이션바 타이틀이나 이미지 등의 컬러나 크기를 내 마음대로 커스텀하는 게 어려웠다. 또 하나 어려웠던..
· 성취/개선/학습한 내용 🏆 오늘은 SceneDelegate를 이용해서 화면을 분기하는 방법을 배웠다. 예를 들어 넷플릭스라면 처음에 온보딩이 있고, 어느 조건을 충족하면 앞으로 온보딩 화면은 뜨지 않는다. 첫 화면이 온보딩에서 홈 화면으로 바뀌는 것이다. 단순히 모달을 풀스크린을 띄우는 방식이 아니고 더 근본적인? 방법으로 화면을 분기처리 할 수 있어서 여러 이점이 있다고 생각한다. · 어려웠던 내용 😵😵💫 UIButton의 이미지 크기 조절하는 거... 도대체 어떻게 하는 겁니까..? UserDefaults에 array 값을 저장하고 다시 부르는 것. 아직 연산 프로퍼티가 뭔지는 알지만 제대로 활용하지 못하는 것 같다. 배운 대로 하면 됐는데, 코드가 점점 많아지다 보니 헷갈렸던 것 같다. 텍스트..
· 성취/개선/학습한 내용 🏆 오늘 배운 것들은 앱이나 웹에서 많이 사용하는 페이지네이션과 앱에서는 빠질 수 없는 싱글톤 패턴이다. 순차적으로 하나하나 배우다 보니 싱글톤이 왜 필요한지 어떻게 만드는지 알게 되었고, 이번에는 UserDefaults를 사용하고 연산 프로퍼티를 설정해서 학습해 봤다. 싱글톤 페이지네이션 · 어려웠던 내용 😵😵💫 페이지네이션을 할 때 row를 기준으로 새로운 데이터를 요청을 해야 하는데 이걸 마지막에서 몇 번째 전일 때 요청을 해야 하는지 애매하다. 마지막 아이템의 3개 전 아이템이 뷰에 보였을 때 요청을 하니, 위로 다시 올려줘야 새로운 데이터가 받아와 지던데 왜 그러는진 정확히 모르겠다. 코딩을 하면 할수록 Enum이 굉장히 편리하고 좋다고 생각되지만, 활용이나 사용이 ..
· 성취/개선/학습한 내용 🏆 오늘은 API를 통해 데이터를 받아오는 것을 위주로 학습을 했다. API 중에서는 그냥 데이터를 받아올 수 있는 것들도 있지만, GPT나 네이버 파파고 같은 것들은 인증키를 통해서 권한을 획득한 다음에 사용이 가능하다. 기존 API에 비하면 사용 방법이 약간 까다롭긴 하지만 할만하다. 그리고 이 인증키를 GIt이나 클라우드에 올리면 안 되니, Git ignore을 통해서 인증키를 올리지 않게 파일을 관리하는 방법 등을 학습하였다. 그리고 API로 데이터를 받아오면 보통 JSON 형식으로 받아오게 되는데, 이 것을 swift에서 사용가능하게 Class, Struct 등으로 바꾸는 작업을 할 수 있게 하는 Codable을 배우고 실습을 하였다. gitignore Codable ..