드디어 outlet의 reference 스타일이 통일화 되는구나!!!

Mac OS X 하나만 있었을 땐, 아주 신경 쓸 정도는 아니었는데, iOS가 나온 후, 두 플랫폼에서 outlet을 정의할 때, outlet 스타일이 달라서 애 먹었다. 에베레스트 산 하나만 알고 있을 땐 헷갈리지 않다가 에레베스트 산이란 말을 들으면서 에베레스트인지 에레베스트인지 헷갈렸던 것처럼…

그래로 하나 믿을 만한 건, Interface Builder 모듈이 기본으로 정의해 주는 weak/strong, 혹은 assign/retain 등의 레퍼런스였다. 근데 내 기억에 그마저도 어떤 베타 버젼에선 엉망으로 섞였었다.
어차피 weak reference가 안되는 혹은 retain으로만 해야 하는 인터페이스들이 있어, 항상 해당 문서를 북마크하고 참조해야만 하지만, 그래도 이는 헷갈린다.

그런데 ARC가 나온 후, 통일의 기미는 보였지만, 회사에서 하는 프로젝트는 내가 시작한 게 아니라면 예전의 코드를 가지고 있고, 심지어 최근 본 코드는 한 파일이 두 타겟에 속했는데, 하나는 ARC를 지원하고 다른 하나는 지원하지 않았다. 이뤈! 아무튼 실제 상황은 이처럼 딱히 이상적이지 않기에, 여전히 기억하고 있어야 한다.

Transitioning to ARC Release Notes에서..

The patterns for declaring outlets in iOS and OS X change with ARC and become consistent across both platforms. The pattern you should typically adopt is: outlets should be weak, except for those from File’s Owner to top-level objects in a nib file (or a storyboard scene) which should be strong.

그리고 Resource Programming Guide의 Managing the Lifetimes of Objects from Nib Files 를 참고하자.
북마크 해 놓으면 좋다.

그래도 이제, Swift도 나오고 해서, 점점 스타일의 통일화는 가시화되는 것 같다.

One response to this post.

  1. […] 드디어 outlet의 reference 스타일이 통일화 되는구나!!! […]

    Reply

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: