Swift TIL(41)

웰디(Well-D)·2023년 10월 5일
0

Sweet & Soft, SWIFT

목록 보기
39/76

복습

생각보다 많이 나가지 못해 아쉬운 진도 ㅠㅠ 조금씩 늘려보자!! +_+ 그래도 아예 못할뻔했는데 했다.

아기다리고기다리 클로저였는데 다시보니 반갑고, 처음들었을때보다(이유는 몰라도) 눈에 더 잘들어오고, 이해가 빨라서 감사했다. 당연히 쉬운 앞부분 들어서 그랬을거라는 생각도 들지만 어쨌든 좋은게 좋은것

  • 클로저는 이름없는 함수다

  • 함수,클로저를 일급객체로 인지한다는 것의 의미 : 변수에 할당가능, 파라미터로 전달가능, 반환가능

  • 변수에 담아 함수를 표기할때 let a: (String) -> String 과 같이 변수타입 정의할 수 있음을 알고 눈에 익힐것

  • 함수도, 클로저도 모두 변수할당하여 사용시에는 변수명() 으로 사용한다. 이렇게 변수명으로 소괄호로 함수실행할때의 장점은 와일드카드 아규먼트레이블 없이도 아규먼트를 생략가능하다는 것(바로 소괄호안에 넣어버리기)

  • 함수를 변수에 할당하는 것 과 함수실행을 헷갈리지말자

  • 물론 이렇게 변수에 할당했을때 새로운 함수가 타입이같다면(인풋, 아웃풋) 해당 변수에 재할당도 가능하다

  • 함수이름과 func을 없애고, 중괄호를 앞으로 당기면서 그 자리에 in을 넣으면 짜잔 클로저 완성

  • 아웃풋타입 추론가능시 클로저에서 생략가능

  • 인풋타입도 타입명시(변수에서 함수타입명시, 리턴값에 쓰이는 인풋을 보니 타입이 추론된다 등)등으로 추론가능하면 생략가능
    => 추가 생략가능 축약문법이 있는데 그건 내일 복습하기로

  • 클로저의 이름이 불필요한 이유: 함수실행시 전달하는 용도로 주로사용하게 된다 => 바로 코드 넣어주면 끝 (굳이 변수에 넣어서 전달도 가능하지만 굳이..!)

  • 클로저를 사용하려면 당연히, 파라미터로 전달했으니 내부에서 클로저를 실행해야한다 closure() 처럼

  • 클로저의 장점은 이렇게 바로 구현하면서 전달가능하다는 것

  • 두번째 장점은 원 함수(클로저를 파라미터로 전달받는)내부에서 클로저를 실행하는 일종의 콜백함수 구조이기 때문에 클로저를 사후적으로 정의하여 사용할 수 있다(즉 클로저는 일정시점에 불려지는 함수, 콜백함수이므로 이렇게 부를때! 내가 원함수의 변수들(이미 실행된 애들임) 이나, 아니면 다른 요소를 추가하여 구현이 가능하다/ 순차적구현)
    이 부분이 제일 매력적이라고 생각이 들었다 (사족)

  • 예를들어 swift에 이미 존재하는 함수들이 콜백함수를 파라미터로 받는 구조라면 개발자가 해당 함수들을 사용할때 콜백함수부분을 사후적으로 유연하게 확장가능하여 구현할수있다는 거니까! 굳굳

콜백함수를 제대로 알게되었던 부분이라 좋아했는데, 그새 까먹기도 했었다. 이번엔 덜까먹겠지.

내용정리는 간단히!
뒷내용이 더 어려우니 내일 힘을 내보자

커피챗

너무 소중하고 즐거웠던 시간! 미리 질문리스트를 만들면서 쏭님, 마치님, 나 각각 3~4개씩의 질문으로 10개를 만들어서 전달드렸는데, 물론 너무 바쁘셔서 보시기 어려울 수 있을것같다고도 생각했지만 리스트를 정리하는게 어렵지도 않고 정리하는걸 빠르게 편하게 하는 편이라 후딱 해서 공유를 드렸다. 아무래도 시간내서 커피챗을 해주시는 거니까, (팀원들도 또 선배님도) 알찬 시간이 되었으면 하는 마음에 수집하다보니 정리해서 드리면 더 좋을 것 같더라는 것이 학계의 점심
팀원분들도 많이 감사하게 생각해주시고, 또 보면서 함께 이야기 나누다보니 정리해놓길 잘했구나 깨달음을 얻었다.

1시간 좀 넘게 1시간 20분? 정도 이야기를 나눈 듯 한데 정말 하나하나 알찼다. 개인적으로 최근에 연휴를 지나면서, 내가 왜 루즈한 기분이 드는지(혹은 내 마음가짐이 어땠는지) 되돌아 볼 기회가 있었는데 그것에 대한 극복방법으로 생각해본 방법들에 대해 문득 질문을 드렸는데, 명확하게 더 가이드가 잡힌 것 같아서 그것도 좋았다.

또 깃에 대해 최근 마인드팰리스를 하면서 언제 깃공부를 해야하는데..라는 생각이 은연중에 생길때가 있어서(물론 때가 아니라고 생각이 들었음에도/ 왜냐면 난 아직 기초를 배우고 있으니/ 괜히 조바심이 나도모르게 들때도 있었다) 그것에 관해서도 질의를 드렸는데, 어느정도 깃이라는 도구를 사용하는 것의 의미와 시기를 한 번 더 확인받은 느낌이었다.

더하기로 실무에서는 앱개발을 어떤식으로 진행하게 되는지, 강의를 들은 후에 어떤식으로 방향을 잡으면(일단 개인으로 3~4페이지라도 하자!) 좋을지 등등..실질적인 고민해결도 많이 되었고 좋은 사례도 많이 알게되어서 감사했다.

디자이너로써 마팰을 하고 있는데 현업에서는 어떻게 일하는지 조금이라도 귓동냥 할수있어 좋았던 것도 있었다.

내 고민뿐만 아니라, 기존에 작성해갔던 그리고 즉석에서 다른 팀원분들이 해주시는 고민들도 공유해보면서, 어떤 고민을 가지고 있는지, 내가 미처 생각지 못했던 부분도 함께 고민해 보고 또 답변을 들을 수 있어서 더 즐거웠고 알찼던 시간이었다.

역시 나누면 배가 된다는걸 늘 느끼고, 시간 내준 선배님께 압도적 감사를 드리며..꾸준히 (일단 하는!) 하는 것으로 증명해야겠다는 생각도 해보았다.
잘 버텨보자는 동기부여는 덤

profile
Wellness 잘사는 것에 진심인 웰디입니다. 여러분의 몸과 마음, 통장의 건강을 수호하고싶어요. 느리더라도, 꾸준히

0개의 댓글