iOS4로 뛰고 나서 마음에 드는 것 하나 - block

Apple의 세계에서 삽질/Objective-C로 삽질 2010. 9. 18. 06:21
실은 Snow Leopard 10.6에서 처음 추가된 녀석인데, 당시 대부분의 시간을 iPhone OS(당시는 이 이름이었죠. 2.2시절이었음...)에 쓰느라 별로 눈여겨 보지 않았던 부분이었죠. 4에서부터는 iOS에서도 지원되기에 관심을 두고 써보니, 확실히 내가 왜 이걸 이렇게 하고 있을까(당연하지, 3.2까지는 지원 안되니)...하는 병맛나는 노가다 코딩을 조금이나마 줄여주는 좋은 업그레이드입니다. 

말은 '좋은 업그레이드'라 했지만, 훨씬 전부터 지원했어야 되지 않나...싶은 부분이기도 하지요. 그 오랜세월 병맛나는 복사/붙이기/리팩토링 등등의 뻘짓을 시켜왔으니...

block구문의 장점은:
  1. 딱 한번 불리고 말 콜백 함수 등의 코딩을 조금이나마 덜 지저분하게 할 수 있다. 특히 개인적으로는 View나 Layer가 사라질 때 정리용 콜백으로 쓸만하더군요.
  2. 좀 더 빠를지도(...이건 상황에 따라 다를 것). 일반적으로 block은 스택영역에서 시작하니까.
  3. 꽤 많은 수의 API들이 block을 요구한다....특히, 멀티 쓰레딩/Grand Central Dispatch에선 필수. 각종 Cocoa Collection Object들의 enumeration도 block을 쓰면 좀 더 Ruby스럽게 볼만한 코드가 나오고, 멀티 코어의 장점을 좀 더 쉽게 활용 가능.

그 외에 신기능을 쓴다는 뽀대?
block과 GCD에 대한 간단한 내용을 계속해서 써보기로 하지요.
Posted by 타이가장관
,