Core Image Filter 코어 이미지 필터는 입력 이미지와 필터의 동작을 설정하는 옵션을 매개변수로 사용한다.적용할 필터의 리스트를 지정하면 각필터를 지정했을 때계산을 실행하는게 아니라 최종 출력 이미지를 요청할 때만이 필터들을 한꺼번에 모두 적용한다. 필터 카테고리와 필터 코어 이미지 필터는 내부적으로 카테고리 단위로 구성된다.한 필터는 하나 이상의 카테고리에 속할 수 있다.카테고리를 이용해서 원하는 작업에 어떤 코어 이미지 필터들이 필요한지 결정할 수 있다. CategoryKey 를 이용하여 CIFilterArray 를 구할 수 있다.(https://developer.apple.com/library/content/documentation/GraphicsImaging/Reference/CoreI..
기본 이미지 데이터와 출력 [UIImage imageNamed:] 라는 클래스 메소드를 사용하면 아래와 같은 장점이 있다. - 앱의 기본번들에 대한 경로를 지정하지 않아도 mainBundle 로부터 이미지를 찾아 로드한다.- 파일 확장자를 이용하지 않아도 PNG 이미지를 자동으로 로드한다.- 이미지를 로드할 때 화면의 크기를 고려한다. (scale - @2x, device - ~iphone, ~ipad)- 메모리 캐시 기능을 사용한다. 같은 이미지를 이미 로드한 상태에서 로드 요청을 받으면 기존에 로드한 이미지를 리턴한다. [UIImage imageWithContentsOfFile:] mainBundle 에 없는 이미지를 로드할 경우 사용된다.이때 확장자까지 모두 붙어야 로드가 가능하다. [UIImage..
UIImage, CIImage, CGImage UIImage 이 객체는 이미지 데이터를 보여주기 위한 high-level 수단을 제공한다.파일이나 Quartz 이미지 객체나 raw image 데이터로부터 이미지들을 생성할 수 있다.UIImage 클래스는 이미지 객체를 current graphics context에 그리기 위한 여러가지 옵션을 제공한다. 옵션으로는 blend model나 opacity value를 조정할 수 있다. UIImage 는 다양한 이미지 포맷을 지원한다. 이름 확장자 PNG (Portable Network Graphic) .png TIFF (Tagged Image File Format) .tiff, .tif JPEG (Joint Photographic Experts Group) ...
개념 및 기능 애플은 iOS 장치 상에서 암호화 정보를 저장하기 위해 keychain 이라는 보안 프레임워크를 제공한다. 키체인에 저장한 정보는 관련 앱을 장치에서 삭제한 이후에도 보관할 수 있다. 또한 같은 개발자가 개발한 여러 앱에서 키체인 정보를 공유할 수 있다. 키체인 사용 시점 비밀번호나 키, 인증서, 메모 같이 작은 양의 정보를 보관하는데 사용한다. 만약, 인코딩한 이미지나 비디오 같은 대용량의 정보라면 외부 암호 라이브러리를 사용하는 게 대부분 더 좋다. 키체인을 사용하려면 를 추가하고 를 import 해야한다. 사용 방법 키체인은 키체인 정보를 요청하는 앱의 코드 서명을 근거로 해제할 수 있다. 하나의 Dictionary 로 생각하면 되고, 특정 키값들이 존재한다. 키의 특성은 아래와 같다..
iOS 4 에서부터 백그라운드 작업 기능을 도입했다.백그라운드 작업 기능은 iOS 가 지원하는 방식, iOS 지원하지 않는 방식 2가지로 나뉜다. 1. iOS 지원하는 방식 백그라운드 지원 타입은 아래와 같다. 1) 오디오 재생2) 장치의 위치 추적3) VoIP 앱 지원4) 뉴스 가판대 앱의 새로운 컨텐츠 다운로드5) 외부 블루투스 장치와의 통신6) 백그라운드에서 컨텐츠 가져오기7) 푸시 알림과 함께 백그라운드에서 다운로드 시작하기 구현하려면 2가지를 따라야한다. 1) 프로젝트 파일 -> target -> Capabilities -> Background Modes On 설정2) 프로젝트 파일 -> target -> Info -> + -> Required Background Modes 에서 배열 지정 Ex..
1. Canonical Mapping 유니코드에는 canonical equivalence라는 것이 존재한다. canonical equivalence란, 한 가지의 추상적인(abstract) 문자를 나타내는 문자나 문자열 사이의 기본적인 동등함(fundamental equivalency)을 말하며, 올바르게 표시되었을 때는 똑같이 표현되고 동작해야 한다. 한 문자에 대해 여러 가지 canonical equivalence가 존재하는 것도 가능하다.예를 들어 문자 Ç(U+00C7)와 문자열 C(U+0043) + ◌̧(U+0327)는 서로 같은 추상적인 문자를 나타내므로 canonical equivalence이고, 문자 Ω(U+03A9)와 문자 Ω(U+2126)은 서로 똑같은 추상적인 문자를 나타내므로 cano..
1. 기본 개념 코어 데이터의 뿌리는 NeXT 의 엔터프라이즈 객체 프레임워크 (EOF) 에서 찾을 수 있다.이 프레임워크는 객체를 관계형 데이터베이스로 매핑할 수 있다. 관계형 데이터베이스를 사용하면데이터베이스에 종속적인 로직을 구현하는 대신비지니스 로직을 객체에 구현하게 되므로 적은 양의 코드로 같은 기능을 구현할 수 있다.이를 통해 DB 요구사항보다 앱의 요구사항을 구현하는 데 더 집중할 수 있다. 코어데이터는 애초에 Mac OS X 상에서 단일 사용자를 지원하도록 만들어졌고, 내장 관계형 데이터베이스인 SQLite 에 데이터를 저장한다. 코어 데이터는 다음과 같은 기능을 포함한다.- 시각적인 모델 편집기를 통해 데이터 객체를 모델링한다.- 객체의 스키마가 변경될 경우 마이그레이션 도구를 이용해 처..
1. Frame & BoundUIView 는 특정 UIView 의 자식 요소로 포함됨으로써 화면에 표시된다.자식 요소로 추가될 UIView 는 자신이 보여질 위치와 크기가 결정되어야한다. 자식 요소 위치의 기준점은 부모요소의 기준점으로부터 계산된다.frame 의 좌표는 부모 View 가 기준이므로 origin 위치가 절대값이 아니라는 말과 동일하다.아래 사진에서 흰색 rect 의 frame 은 아래와 같다. frame : 10.000000, 10.000000, 100.000000, 100.000000 UIView 는 frame 외에 bounds 속성을 가진다. 두 속성 모두 CGRect 타입으로 위치와 크기를 나타내지만 의미하는 바가 다르다. bounds 는 자신을 기준으로 한다. 위 흰색 rect 의 ..
1. UIDocumentInteractionController 의 사용 UIDocumentInteractionController 는 sandbox 내부의 파일과의 사용자 상호 작용을 관리하기 위한 클래스이다.예를들어 이메일 앱에서는 사용자가 첨부파일을 미리보고 다른 앱에서 열 수 있도록한다.또한 지정된 파일을 미리 보거나 열거나 복사, 인쇄할 수 있는 적절한 UI 를 제공한다. UI 를 나타낸 후 UIDocumentInteractionController 는 파일 미리보기 및 메뉴 표시에 대한 동작들을 담당한다. self.documentController = [UIDocumentInteractionController interactionControllerWithURL:fileURL];self.documen..
- Total
- Today
- Yesterday
- EffectiveObjectiveC
- Swift 3.0
- 읽기 좋은 코드가 좋은 코드다
- CGImage
- applicationWillResignActive
- NSManagedObjectModel
- docker
- workerThread
- 꺼내먹어요
- CIImage
- string
- NSManagedObjectContext
- Swfit
- optional
- dictionary
- Swift 3
- Swift
- ios
- Block
- set
- UIView
- HTTP
- thread
- Arc
- NSManagedObject
- Swift3
- RunLoop
- delegate
- coredata
- AWS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |