2015년 2월 11일 수요일

Swift 1.2 에서 바뀌는 것들

아직 Xcode 6.2가 정식으로 릴리즈 되지도 않았는데 벌써 Xcode 6.3 베타가 나오는 어이없는(?) 상황이 이어지고 있다. Xcode 6.3에서는 드디어 Swift가 업그레이드 되어서 1.2가 들어가게 되는데 이와 관련된 변화점을 살펴보고자 한다.

가급적이면 모든 내용을 다루고 싶지만 이해가 안되는 것도 많고 별로 몰라도 되는 것도 있어서 중요하다 싶은 내용만 다룬다. 이번 업데이트는 크게 Swift, Xcode 그리고 Objective-C 세 가지 파트로 나뉘어진다.

2015년 2월 9일 월요일

Swift 예제 - HEX 색상코드를 UIColor로 변환하기

예제로 보는 Swift 두 번째 포스팅. 이번에는 웹페이지에서 쓰이는 16진수 컬러코드를 UIColor로 변환하는 방법을 쓸 데 없이 길게 풀어써 본다.

참고로 이 글은 플레이그라운드(Playground)에서 작성한다는 가정 하에 쓰여진 글이다.

2015년 1월 22일 목요일

NSScanner 기초​

NSScanner는 문자열(String, NSString)에서 값을 스캔하기 위한 클래스이다. 아래 공식 레퍼런스에는 Abstract Superclass 라고 소개되어 있긴 하지만 예상외로 별도로 구현할 필요 없이 그대로 써도 된다.

2015년 1월 21일 수요일

[Swift] 딜리게이션 패턴(Delegation Pattern)

스위프트(Swift)는 Objective-C의 많은 기능들을 새롭게 포장해서 제공해 주고 있는데 프로토콜도 그 중 하나이다. 이 프로토콜(Protocols)과 딜리게이션 패턴(Deleagation Pattern)에 대해 간단히 정리해 본다.

2015년 1월 20일 화요일

[Objective-C] ARC - 브릿지 이야기

Swift가 뜨고 있는(?) 현재로썬 그다지 자주 쓸 일은 없을 것 같긴 하지만, Objective-C ARC의 Toll-Free Bridged Types에 대한 이야기를 써 본다.

2015년 1월 16일 금요일

[Swift] 정체불명의 Dictionary 업데이트 런타임에러

이번 글은 개인적으로 빡쳐서 쓰는 한탄글이다 -_-;

종종 Swift는 아직 준비가 덜되었다고 떠벌리고 다녔는데 이번에는 정체불명의 오류로 인해 다시금 준비가 덜 되었다고 이야기를 해야 할 것 같다. 이번 글은 Swift의 Dictionary(사전형)의 아이템을 업데이트 할 때 발생하는 EXC_BAD_ACCESS에 관한 이야기이다.

2015년 1월 15일 목요일

[Swift] 좀 더 단순한 싱글턴 패턴(Singleton Pattern)

과거에 쓴 dispatch_once 및 static struct 를 사용한 싱글턴 패턴은 외워서 쓰기가 좀 귀찮다. 라인수가 조금은 기니깐. 그래서 찾아보니 의외로 단순하게 Swift의 클래스에 싱글턴 패턴을 적용 할 수 있는 방법을 찾았다.

2015년 1월 12일 월요일

[Objective-C] performSelector에서 메모리 릭(leak) 경고가 뜬다?

오랫만에 Objective-C 전용 글. 구시대(?) 방식으로 performSelector를 쓰는 경우 요즘은 아래와 같은 식의 빌드 경고가 발생 할 수 있다.

2015년 1월 9일 금요일

Swift Memory Management #4 클로져(Closure)의 경우

클로져 이용 시에도 메모리 관리와 관련된 지식이 필요 할 때가 있다. 일반적인 변수 대입 과정에서 리테인이 발생하는 요소 외에도 클로져 내부에서 외부의 변수를 참조 할 때 발생하는 리테인을 깜빡 할 수도 있기 때문이다.

2015년 1월 8일 목요일

Swift Memory Management #3 구조체(struct)와 클래스(class)

지금까지 레퍼런스 카운트와 ARC에 관해 설명해 오다가 마치 삼천포에 빠진 것 처럼 구조체와 클래스에 대한 이야기가 나오게 되었다. 그런데 이 구조체와 클래스의 차이점으로 메모리 관리 상의 차이도 존재하기 때문에 짚고 넘어가야 할 것 같다. 다만, 이 둘의 차이에 대해 이미 이해하고 있다면 무의미한 글이 될 수도 있으니 그냥 넘어가자.