· 성취/개선/학습한 내용 🏆 오늘은 스토리보드 없이 코드로 UI를 그리는 방법에 대해서 학습을 했다. 원래 SwiftUI 역시 코드로 짜는 게 익숙했던지라 오히려 더 편한감이 없지 않아 있었다. 그리고 오히려 코드로 뷰를 그리고 오토레이아웃을 설정하니까 더 확실하게 내가 만들고 싶은 Constraints를 설정할 수 있어서 편했다. addSubView translatesAutoresizingMaskIntoConstraints autoresizing Mast NSLayoutConstraints NSLayoutAnchor SnapKit · 어려웠던 내용 😵😵💫 addSubView를 해주는 것을 자꾸 까먹는다. 거기다가 TableViewCell에서는 contentView.addSubView를 해줘야한다는..
· 성취/개선/학습한 내용 🏆 오늘은 동시성 프로그래밍에 대해서 공부했다. Swift에서 Swift Concurrency 가 등장하기 전에 쓰인 기능, 그리고 지금도 쓰이는 기능이다. iOS 개발자가 되려면 필수로 알아야하는 개념이다. 오늘 학습으로 인해서 기존에 헷갈리던 동기와 비동기 그리고 동시와 직렬에 대해 한번 더 확실하게 정리할 수 있게되었다. 지금 내가 정리한 게 틀릴 수도 있지만, 정리해보자면 동시와 직렬은 테스크를 메인 스레드에만 할당할 것인지 아니면 다른 스레드들에게도 할당할 것인지의 차이이고, 동기와 비동기는 테스크를 순서대로 할건지 아니면 한번에 여러 작업을 진행할건지 차이로 이해하였다. GCD main (serial) / global (concurrent) Concurrency Se..
· 성취/개선/학습한 내용 🏆 오늘은 권한의 끝판왕 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 값을 저장하고 다시 부르는 것. 아직 연산 프로퍼티가 뭔지는 알지만 제대로 활용하지 못하는 것 같다. 배운 대로 하면 됐는데, 코드가 점점 많아지다 보니 헷갈렸던 것 같다. 텍스트..