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

2015년 1월 5일 월요일

Swift Memory Management #2 ARC 기초

앞서 Objective-C의 레퍼런스 카운트 개념에 대한 기본적인 지식을 설명했다. 이제 Swift 영역으로 돌아와서, ARC에 대해 좀 더 깊이 들어가 보자.

Swift Memory Management #1 기초 개념

소프트웨어를 만들 때 메모리 관리라는 건 언어에 따라 중요성의 차이가 다르긴 하다. 하지만 왠만해서는 신경써서 작업해야 하는 것이 메모리 관리이다. 얼마나 적거나 많은 메모리를 사용하는지, 또는 어느 시점에서 메모리가 해제되면 효율적인지 등등 신경써야 할 부분이 제법 많다.

이 글은 Swift의 메모리 관리에 대한 기본적인 지식 시리즈 첫 번째로, ARC(Automatic Reference Counting)의 전제가 되는 레퍼런스 카운트(Reference Count) 개념부터 정리한다. 직접적인 Swift 에 대한 내용이 아니기 때문에 꼭 알아야 할 필요는 없을지도 모르겠다.

2015년 1월 3일 토요일

Xcode Resources

이 글은 이 블로그에서 Xcode와 관련된 글의 링크를 모은 길찾기용 글이다.

Core Foundation Resources

글 제목이 Core Foundation 으로 한정하고 있는 것 같지만, 정작 실체는 iOS(+ Cocoa Touch) 앱 개발과 OS X(+ Cocoa) 개발에 공통적인 글 링크를 정리하고 있는 글이다. :-)

과거 글은 Objective-C 위주로 쓰여져 있는 점에 주의하자.

macOS & Cocoa Development Resources

이 글은 본 블로그에서 macOS용 앱 개발 및 Cocoa 프레임워크 전반에 대한 글 링크를 별도로 정리한 길찾기용 글이다. 관련된 내용이 업데이트 되면 (귀찮지 않으면) 이 글에도 업데이트 할 예정이다.

iOS and Cocoa Touch Resources

이 글은 본 블로그에서 iOS 앱 개발 전반 및 Cocoa Touch 프레임워크에 대한 글의 링크를 별도로 정리한 길찾기용 글이다. 관련 글이 업데이트 될 때 마다 이 글에도 해당 항목을 추가할 예정이다.