iOS의 애니메이션 구현 방법 정리

애니메이션 구현 방법 iOS의 애니메이션 구현은 크게 두 가지로 나눌 수 있는데 하나는 UIKit의 애니메이션 API를 사용하는 것이고, 다른 하나는 코어 애니메이션을 사용하는 것이다. 오늘은 각각의 세부적인 구현보다는 각각의 API의 차이와 기본적인 사용방법에 대해서 살펴보도록 하겠다.

(Swift) Array – 01. 생성과 조작

배열은 대부분의 프로그래밍 언어에서 가장 중요하게 다뤄지는 데이터 타입이며, 동시에 프로그래머들이 가장 많이 사용하게 되는 기본적인 자료 구조 중 하나이다. 이번 글에서는 Swift의 배열인 Array 타입에 대해 살펴보도록 하겠다. 배열자체는 어찌보면 일련의 값들을 연속적인 저장공간에 차례 차례 배치하여 저장한다는 가장 기본적인 컨셉을 갖는 간단한 자료 구조이다. 컨셉과 구조가 단순하고 또 두말할 나위없이 중요한 자료 구조이기 때문에 많은 언어에서 배열을 언어 차원에서 지원해주는 기능이기도 하다. Swift역시 배열을 기본 타입 중 하나로 제공하고 있다. 실제로 배열이 중요한 것은 그 자체가 가지는 기능보다는

(Swift) Swift3의 커스텀 연산자 정의 변경점

Swift 3에 도입된 변화 중 하나는 연산자 정의 방식이 변경된 것이다. 이전버전까지는 다음과 같은 문법으로 새로운 연산자를 정의할 수 있었다. infix operator <> { precedence 180 associativity left } 하지만 이 문법은 왠지 좀 엉성해보이는 구석이 있었다. {…} 블럭내에서는 속성명과 속성값의 구분이 단순히 공백이다. 속성명-속성값의 짝이 한 라인에 연결되어 선언될 수 있다.

(vim) jump 관련 명령 정리

jump와 관련된 명령들을 한 번은 정리하고 가자. 마크 m을 이용해서 현재 위치를 특정한 마크로 지정할 수 있고, 백팃 ` 이나 ‘작은 따옴표를 이용해서 그 위치로 되돌아 갈 수 있다. 마크는 a-z, A-Z, 0-9 와 몇 가지 특수문자가 적용되는데, 특수문자들은 특별한 의미를 가지는 것들이다. a-z 영어 소문자는 일반적인 마크. 파일마다 따로 관리된다. A-Z는 여러 파일간에 유지된다. 0-9는 역시 여러 파일간에 유지되는데 … .viminfo 파일 내에 저장된다고 한다. 따라서 vim을 종료/재시작한 후에도 위치를 기억할 수 있다. (실제로 이는 vim을 빠져나갔을 때 위치를

(Swift) Swift의 String타입 기초 – 03. 활용

목차 문자열 생성하기 문자열 조작하기 * 활용 응용 변경 기본적인 문자열 조작 방법을 살펴보았으니 그외의 문자열과 관련된 변경을 찾아보자. 참고로 String 타입의 경우 NSString에서 많은 편의 메소드들을 제공하고 있기 때문에 그리 많은 메소드를 지원하지는 않는다. 따라서 문자열을 입맛에 맞게 조작하려면 Foundation을 임포트하는 것을 잊지 말자.

단위타입

타입시스템을 이용해서 값의 단위 맞추기 트위터에서 재밌는 링크를 하나 발견했다. 요는 어떤 값의 타입이 동일하지만, 단위가 다르다거나 하는 등의 이유로 다르게 평가될 수 있는 값을 어떻게 안전하게 관리하는가 하는 문제이다. 예를 들어 반지름과 중심각을 받아서 원호의 길이를 계산하는 함수를 작성한다고 생각해보자. import Glibc func getArcLength(radius: Double, angle: Dounle) -> Double { return radius * angle } let l = getArcLength(radius: 4, angle: M_PI / 4) /// 3.14159265358979 간단한 문제이다. 그런데 이는 생각치 못한 방향으로 흘러갈 수 있다. 왜냐하면 이 함수에서