이번 아이폰 개발의 최고 소득은 코드 블럭이 뭔지 알았다는게 아닐까. 기존 코드 분석하다가 이게 뭔가 싶어 찾아봤다 알게됐는데, 몰랐던 기간이 섭섭할 정도로 정말 효율적이더라. 단, 잘 쓴다면 말이다. 차라리 몰랐으면 어떻게든 했을텐데 알고 나니까 쓰고 싶어서  코드 블럭이 필요할 때마다 구글을 헤메며 내게 필요한 방식과 비슷해 보이는 부분을 복사하면서도 이게 뭔가 싶었던 싶었는데, 아예 오늘 맘 잡고 좀 찾아보니 생각보다 쉽더라.

 

참 신기한게 한 번 제대로 파악하고 나면 별거 아닌데 여유가 없다는 핑계로 쓰다보면 어떻게든 될 거라며 꾸억꾸역 살다보니 또 그러다 진짜 되는 것도 있긴 한데 이런 생소한 개념은 계속 모른 채로 살게 된다. 또 코드 블럭은 너무 간단하면서도 하나도 모르겠는 구조라 쓰면서 알만한 것도 없고 진짜 모르겠더라. (void (^)(NSDictionary *)action 이런 식이니까 말야. 또 받을 때는 엄청 간단하게 받고는 뚝 끊기니까 돌아는 가는데 이게 어디서 어떤 방식으로 실행되는지 감이 안 잡히더라고. 진작 찾아 볼 걸 그랬지.

 

막 적용한 오픈 소스 분석하다가 typedef로 선언해서 쓰는 방법도 있다는 걸 깨닫고 나서 이대로는 안되겠다 싶어 찾아본게 딱 좋았다. 아니, 이상했던게 지역변수로는 분명 저렇게 넘기는데 그럼 (void (^)(NSDictionary *) action; 이런 식으로 선언하면 변수가 생겨야 할 것 같던데 생기지가 않더라구. 또 NSDictionary 변수명은 넘겨주면서 ^(NSDictionary *dict) { ... } 이렇게 넘기니까 dict에 내용에 들어오는데 뭐 잘 모르겠고 또 어디서는 반대로 여기서 실행하고 이게 다 뭐지 했던 시간이여, 이제 정말, 안녕.

 

잘 못 쓰면 메모리 누수 나기 좋다니까 본격적으로 파악하기 전까지는 진짜 필요할 때만 써야지. 내부에서 뭘 해제해주고 어쩌고 한다는데 시간나면 한 번 봐야겠어. 또 찾아보니까 NSBlockOperation이라고 병렬 처리도 가능하고 관리하기 편한 뭔가가 있나본데 나중에 시간 나면 이것도 또 알아봐야지. 지금 만드는 앱은 하도 쪼개놔서 크게 부하 걸릴 일이 없어서... 일부 코드 때문에 서버 부하가 더 걱정될 따름. 거긴 또 언제 고친담.


번호 분류 제목 글쓴이 날짜
575 일반 친구란 좋은 거야 19/07/26 01:27
574 일반 격조했다 19/07/24 23:59
573 일반 윈도우 업데이트가 세상 거창하네 19/05/01 06:57
572 개발 갑자기 델리게이트 패턴을 이해하게 됐다 19/04/26 08:51
571 개발 이걸 어디에 적어놔야 기억을 할까 19/04/24 03:47
570 일반 사람은 바깥 바람도 쐬고 살아야 해 19/04/24 02:18
개발 드디어 코드 블럭을 제대로 쓸 수 있게 됐다 19/04/22 10:25
568 개발 아 진짜 재밌네 19/04/20 05:49
567 개발 점 표기법과 대괄호 표기법 19/04/19 02:52
566 개발 하 수학 공부를 좀 더 열심히 했어야 했어 19/04/15 16:07
565 개발 이번에는 통신부 함수를 분리하기로 했다 19/04/10 18:41
564 개발 알게 된 거 조금씩 적어야지 19/04/09 18:35
563 개발 진짜 별 걸 다 알게된다 19/04/09 17:32
562 개발 이게 최선인 걸까 싶다 19/04/08 16:35
561 개발 가끔은 재부팅도 필요하다고 한다 19/04/05 14:06
560 일반 사람은 바쁘게 지내야 하나 봐 19/03/26 15:09
559 일반 영웅 넘버는 언제 들어도 참 좋다 19/03/24 01:53
558 기록 나는 어떤 사람이 되어야 할까 19/03/23 02:37
557 기록 우울하다 말하기 전에 몸이 아픈 건 아닌가 생각해보자 19/03/21 02:17
556 일반 눈이 오고 있어요 여러분 19/03/15 19:17