✔︎ 오늘의 정리 Localization 디자인 패턴(MVC / MVP / MVVM) CollectionView SwipeAction Localization 단순히 언어를 다른 나라의 언어로 번역한다! 에서 그치지 않고 그 나라의 언어는 물론, 문화나 특성에 따라서 앱의 화면 구성이나 번역, 숫자 포맷을 다르게 설정하는 것을 말한당. 그 종류를 따지자면 해당 나라별로 정말 천차만별이고 정리하자면 이것도 끝도 없겠어서~~!!!!! WWDC 영상과 애플 문서로 대체한다. 심심할 때마다 하나씩 보고 있는데 조은듯... https://developer.apple.com/documentation/xcode/localizing-package-resources Localizing package resources |..
ShoppingProject 2차 과제로 구현한 앱입니다. 네이버 쇼핑 API를 이용하여 상품 검색 및 페이지네이션 기능을 구현했고, 모든 화면에서 좋아요 추가 / 제거가 가능합니다. 추후 기술할 기능과 환경에 대한 최소 요구 사항을 바탕으로 제작하였으며 아이패드나 macOS에서는 대응하지 않습니다. 추가적으로 라이트모드 / 다크 모드를 처리해 주었습니다. 라이브러리는 Kingfisher, Realm, SnapKit을 이용하였으며, Kingfisher의 경우에는 이미지 캐싱 기능이 내장되어 있어 실제로 구현하는 것보다 간단히 임포트하여 사용하는 것이 효율적일 것 같기에 사용하였습니다. 요구사항 및 최소 요구 사항은 해당 프로젝트 README에 따로 기술해 놓았고, 혹시 모를 스포일러 및 교육 내용 누출이..
URLSession URL로 표시된 엔드포인트에서 데이터를 업로드하거나 다운로드하는 등의 API를 제공해 주는 클래스를 말하며, 내부의 여러 설정을 통해 데이터를 어떻게 전송하고 어떻게 동작할지를 설정할 수 있다. URLSession의 shared의 경우에는 은 싱글톤 객체로 구성되어 있어 사용자가 커스터마이징한 것을 등록할 수는 없지만, 그 사용 범위가 제한적인 경우 내부의 method나 설정을 이용하여 네트워크 통신을 할 수 있다. 간단하고 기본적인 요청일 경우에는 앞서 말한 Shared Session나 조금 더 커스터마이징을 해서 사용할 수 있는 Default Session을 이용하여 사용할 수 있고, 이외에도 다른 Session Configuration을 이용하여 별도의 처리를 할 수 있다. UR..
✔︎ 오늘의 정리 접근 제어자 모듈과 타겟 각 접근 제어자가 언제 쓰이는지와 어떻게 쓰이는지!! 값 전달 closure delegate UIPickerView PHPicker 접근 제어자 소스파일 및 모듈에서 세부적인 코드의 내용에 대한 접근을 막거나 허용할 때 사용한다. 이를 통해 코드에 대한 불필요한 노출을 제한함으로써 은닉화를 구현할 수 있다. 접근 제어자는 모듈과 타겟의 특성으로 나뉘게 되는데, 먼저 그 둘에 대해서 알아보자면 다음과 같다. 모듈 우리가 흔히 말하는 프로젝트 단위를 모듈이라고 한다. 프레임워크도, import를 통해 사용하는 라이브러리도 하나하나가 모듈이다! open / public을 통해 접근할 수 있당 타겟 하나의 프로젝트 파일 내에서 코드를 제어할 경우 타겟이라고 한다. 근..