UIActivityViewController 앱에서 표준 서비스를 제공하는 데 사용하는 보기 컨트롤러입니다. Declaration class UIActivityViewController : UIViewController Overview 이 시스템은 항목을 페이스트보드에 복사하고, 콘텐츠를 소셜 미디어 사이트에 게시하고, 전자 메일 또는 SMS를 통해 항목을 보내는 등의 몇 가지 표준 서비스를 제공합니다. 앱은 사용자 지정 서비스를 정의할 수도 있습니다. 앱은 이 보기 컨트롤러를 구성, 표시 및 해제할 책임이 있습니다. 뷰 컨트롤러에 대한 구성에는 뷰 컨트롤러가 작동할 데이터 개체를 지정해야 합니다. (앱에서 지원하는 사용자 지정 서비스 목록을 지정할 수도 있습니다.) 보기 컨트롤러를 표시할 때 현재 장치..
DateFormatter 날짜와 텍스트 표현 사이를 변환하는 포맷터입니다. Date를 text로 바꿔주는놈! Declaration class DateFormatter : Formatter NumberFormatter 처럼 Formatter 상속받는 친구니까 NumberFormatter 랑 비슷하겟죠..? Overview DateFormatter 인스턴스는 NSDate 개체의 문자열 표현을 만들고 날짜 및 시간의 텍스트 표현을 NSDate 개체로 변환합니다. 사용자가 볼 수 있는 날짜 및 시간 표현을 위해 DateFormatter는 다양한 지역화된 사전 설정 및 구성 옵션을 제공합니다. 날짜 및 시간에 대한 고정 형식 표시의 경우 사용자 정의 형식 문자열을 지정할 수 있습니다. ISO 8601 형식의 날짜..
CoreAnimation 시각적 요소(visual elements)를 렌더링, 합성하고 애니메이션화합니다. Overview 코어 애니메이션은 CPU에 부담을 주거나 앱 속도를 늦추지 않고 높은 프레임률과 부드러운 애니메이션을 제공합니다. 애니메이션의 각 프레임을 그리는 데 필요한 대부분의 작업은 사용자를 위해 수행됩니다. 시작점 및 끝점과 같은 애니메이션 매개 변수를 구성하면 나머지는 코어 애니메이션이 수행하고 대부분의 작업은 전용 그래픽 하드웨어로 넘겨 렌더링 속도를 높일 수 있습니다. 자세한 내용은 애니메이션 프로그래밍 가이드 를 참조하십시오. 위의 애니메이션 프로그래밍 가이드를 요약하자면 Core Animation은 iOS / OS X에서 사용 할 수 있는 그래픽 렌더링 및 애니메이션 인프라다. C..
Core Graphics Quarts(쿼츠)라는 그래픽 라이브러리 안에 들어있는 기술을 활용하여 2D 렌더링, 수행 경로 기반 드로잉, 안티 얼리어싱 렌더링, 그라디언트, 이미지, 색상, PDF 문서 등등의 처리를 해주는 프레임워크다. OverView Core Graphics 프레임워크는 Quartz 고급 드로잉 엔진을 기반으로 합니다. 이것은 타의 추종을 불허하는 출력 충실도로 낮은 수준의 가벼운 2D 렌더링을 제공합니다. 이 프레임워크를 사용하여 경로 기반 그리기, 변환, 색상 관리, 오프스크린 렌더링, 패턴, 그라디언트 및 음영, 이미지 데이터 관리, 이미지 생성, 이미지 마스킹, PDF 문서 생성, 표시 및 구문 분석을 처리합니다. macOS에서 Core Graphics에는 디스플레이 하드웨어, ..
CoreData Device 에 데이터를 저장하거나 CloudKit 을 사용해 여러 Device. 에 데이터를 동기화 할수있게 하는놈이다. OverView 핵심 데이터를 사용하여 오프라인에서 사용할 수 있도록 응용 프로그램의 영구 데이터를 저장하고 임시 데이터를 캐시하며 단일 장치에서 응용 프로그램에 실행 취소 기능을 추가할 수 있습니다. 단일 iCloud 계정의 여러 장치에서 데이터를 동기화하기 위해 Core Data는 자동으로 스키마를 CloudKit 컨테이너에 미러링합니다. 핵심 데이터의 데이터 모델 편집기를 통해 데이터의 유형 및 관계를 정의하고 각 클래스 정의를 생성합니다. 그러면 코어 데이터는 런타임에 개체 인스턴스를 관리하여 다음과 같은 기능을 제공할 수 있습니다. Persistence(저장..
Diffable Datasource DiffableDataSource란? WWDC19 에서 소개된 놈이다. IOS13 부터 사용가능하다! TableView 또는 CollectionView를 그리기 위한 데이터를 관리하고 UI를 업데이트 하는 역할을 한다. Data Source와 달리 데이터가 달라진 부분을 추적하여 자연스럽게 UI를 업데이트한다. 기본적으로, Diffable Data Source와 DataSource의 역할은 같다. 하지만 Diffable Data Sources 를 사용하면 이전과 달라진 부분을 자동으로 알아차리고 새로운 부분만 다시 그리기 때문에 tableView나 collectionView를 단순하게 업데이트가 가능하다. Diffable DataSource를 사용하여 얻게 되는 효과와..
Hash Table과 Hashable HashTable이란? 자료구조중 하나이며 Swift에서는 딕셔너리를 사용해 해시테이블을 사용할수있다! 딕셔너리는 Key-Value로 값을 저장한다. 딕셔너리가 해시 테이블로 구현되어 있기 때문에 해시 테이블도 Key-Value로 값을 저장한다. 해시테이블은 내부적으로 배열로 구현되어 있다. Key-Value 값을 저장함수를 통해 배열에 저장 한다고 보면되겠다. 예시를 보자! 위의 사진처럼 Key-Value 를 HashTable 에 저장하려고 한다! 이때 HashTable 에 저장하려고 할때 순서대로(0, 1...) 저장된다면 해시테이블이아니라 일반 배열이다. 해시테이블은 데이터가 순서를 지키지 않고 저장된다! 예시 사진은 저장하려는 값이 2개밖에없지만...무튼 해시..
IOS Layout Cycle, Drawing Cycle Application에서 UI화면에 어떤것을 보여줄것인지 어떻게 업데이트 되는지 이해하기 위해서는 MainRunLoop, Update cycle 에대해 이해하고 있어야한다. MainRunLoop 어플리케이션이 실행되면 iOS의 UIApplication이 매인 스레드에서 main run loop를 실행시킨다. main run loop는 돌아가면서 터치 이벤트, 위치의 변화, 디바이스의 회전 등의 각종 이벤트들을 처리하게 된다. 이러한 처리 과정은 각 이벤트들에 알맞는 핸들러를 찾아 그들에게 권한을 처리 권한을 위임하며 진행된다. 이렇게 발생한 이벤트들을 모두 처리하고 권한이 다시 main run loop로 돌아오게 되고 이 시점을 update cyc..