클로저(3)
-
[Swift] [weak self] 이젠 제대로 알고 사용하자! (feat. ARC 2탄)
아직 ARC 1탄 글을 읽지 않고 오셨다면, 아래 링크로 넘어가서 읽고 오길 권장합니다:) [Swift] ARC (Automatic Reference Counting) 완전 정복하기1️⃣ ARC (Automatic Reference Counting)를 배우기 위해 알아야 하는 기초 개념1. 값 타입 (Call by Value)과 참조 타입 (Call by Reference)값 타입 (Call by Value)은 데이터를 복사해서 전달하는 경우, 참조 타입 (Callmini-min-dev.tistory.com 1️⃣ 클로저(Closure)에서도 발생하는 강한 참조 사이클(Strong Reference Cycle) 문제지난 [Swift] ARC (Automatic Reference Counting) 완전 정..
2024.07.08 -
[Swift] for-in문과 forEach 사이의 차이, 그리고 고차함수(map, filter, reduce)의 활용까지
1️⃣ 내가 이 글을 쓰게 된 이유 프로그래밍을 조금이라도 배워본 사람이라면, 반복문의 대표주자로 for-in문이 있다는 것은 당연히 알 것이라 생각한다. Swift에도 당연히 for문을 지원하기에 평소 for-in 코드를 사용한 반복을 많이 사용하곤 했었는데, 반복을 목적으로 짠 코드에서 forEach문 역시 동일한 기능을 제공한다는 것을 다른 협업 팀원들의 코드에서 많이 확인할 수 있었다. 이에 그동안 나도 무지성 따라 치기(?) 스킬로 forEach라는 코드를 사용했지만, 사실 for문과 어떤 점에서 차이가 있는지, 성능 차이는 존재하는지에 대한 고찰이 없었기에 항상 공부하고 싶었던 내용이었다. 여기에 덧붙여, 최근 진행하던 프로젝트에서 iOS 멘토님에게 받은 피드백 중 하나가 "for + appe..
2024.03.11 -
[Swift] Closure 완전 정복하기: 일급 객체부터 작성법, 그리고 @escaping까지
1. 클로저(Closure)란? 솝트에서 서버 통신을 처음 배우다가 마주친 어려운 개념 2개가 있었다. 그중 하나가 Escaping Closure(탈출 클로저)였는데 (당연히, 클로저를 모르는데 탈출 클로저를 듣는다고 이해가 되겠ㄴ ㅏ....) 서버 통신을 배우기 위해서, 그리고 탈출 클로저를 이해하기 위해서, 스위프트에 자주 쓰이는 코드를 이해하기 위해서, "Closure(클로저)"에 대해 이번 글에서 자세하게 다뤄보겠다. 클로저는 정말 단순하게 말해, 코드를 중괄호("{}")로 묶어둔 "코드 블럭 (모음)"이다. 추가로 코드 블럭을 더 직관적으로 풀어 설명하면, "이름 없는 함수"라고 말할 수 있겠다. 함수는 이름 "있는" 클로저와 같고, 클로저는 이름 "없는" 함수와 같다. 코드를 바탕으로 더 자세..
2021.08.12