콘텐츠로 건너뛰기
Home » Development » Swift » Page 18

Swift

Swift / Cocoa / Foundation / Programming Language / UIKit / AppKit / Swift Standard Library / Swift 문법과 기능 / 공부하면서 알게된 내용들을 정리 / 어느 프로그래밍 언어 덕후의 연습장

implicit optional unwrapping

암시적 언래핑은 옵셔널 타입 변수를 선언하면서 ? 대신 !를 선언한다. 특히 Objective-C API들은 객체를 리턴하는 경우가 많은데 이 때 객체들은 실질적으로 포인터이며 이는 항상 nil이 될 수 있으므로 옵셔널 타입이 된다. 즉, idAnyObject?가 되고, NSMutableArrayArray?가 된다는 의미이다. 그렇다고 해서 Objective-C API와 연동하는 코드 모든 곳에서 느낌표를 매번 붙여서 언래핑하는 것은 매우 불편하기 때문에 등장한 것이 아닌가 한다. (순수 Swift 코드에서는 나올 일이 별로 없을 것 같다.)
더 보기 »implicit optional unwrapping

swift 커스텀 연산자

커스텀 연산자 >->를 만들어 보자. 함수 외부에서 파라미터를 함수로 주입하는 연산자로 이는 swift에서 기본적으로 정의하지 않고 있는 연산자이다. 따라서 연산자를 먼저 선언해준다. infix operater >-> {} 내용을 구현해준다. 내용은 제네릭 함수로… func >-> <T, U>(left:T, right:(T)->U) -> U { return right(left) } 이제 테스트해보자… func someIncrement(a:Int) -> Int { return a + 3 } 4 >-> someIncrement // 7

Swift The Basics

The Basics

상수와 변수

상수는 한 번 선언하면 변경되지 않는 값, 변수는 계속 변경할 수 있는 값이다. 상수는 let으로 선언하며, 변수는 var로 선언한다. 변수명 뒤에는 콜론을 써서 타입 어노테이션을 붙일 수 있다.

var currentLoginAttempt: Int = 0

var문 하나에서 여러 개의 변수를 초기화 하는 것도 가능하다.

var x = 0.0, y = 0.0, z = 0.0

튜플을 도입하였으므로 파이썬의 튜플 언패킹과 비슷한 문법도 쓸 수 있다.
더 보기 »Swift The Basics

NSView의 내용을 이미지로 캡쳐하기

  NSView의 내용을 비트맵 그래픽 파일로 캡쳐하는 방법에 대해 설명하겠다. 일전에 간략히 적어둔 내용이 있었는데, 잘못된 부분도 있고 예전엔 돼었는데 제대로 동작 안하는 부분도 있어서 다시 정리한다. PDF로 캡쳐하는 방법도 있으니 살펴보도록 하자. 이미지를 만든다기 보다는 특정한 포맷으로 표현할 수 있은 이미지 표현형을 획득할 수 있으면(NSBitmapImageRep) 이 클래스의 representation(using:properties:)를 사용해서 이미지 파일을 위한 데이터를 생성할 수 있다. 여기에는 크게 두 가지 방법이 있다. 뷰 자체를 캡쳐하는 NSBitmapImageRep의 이니셜라이저를 사용하기 뷰의 비트맵 캐시를 추출하기 첫번째 방법은 NSBitmapImageRep의 이니셜라이저 중에서 init(focusedViewRect:)를 사용하는… 더 보기 »NSView의 내용을 이미지로 캡쳐하기

키밸류 옵저빙이란

키밸류 옵저빙 키밸류코딩(KVC)에 이어서 키밸류 옵저빙에 대해 이야기해보자. 키밸류 코딩에 관한 포스팅에서 키밸류 코딩은 키밸류 옵저빙의 근간이 되는, 어떤 객체의 프로퍼티를 키 이름으로 런타임에 동적으로 탐색하여 액세스할 수 있게하는 기술이라고 하였다. 키밸류 옵저빙 역시 프로퍼티 액세스와 관련한 Objective-C 런타임이 제공하는 동적 기능의 일종으로, 특정한 키에 대한 객체의 프로퍼티 값이 변경될 때, 해당 변경에 대한 알림이 다른 객체로 통지되는 것을 말한다. 예를 들어 foo 라는 객체 인스턴스에 a 라는 프로퍼티가 있고, bar 라는 객체가 이 프로퍼티에 대한 옵저버로 등록이 되어 있다면,… 더 보기 »키밸류 옵저빙이란

Pages: 1 2 3