Day 17 - TIL
개인과제 및 클로저 함수는 왜 사용하는가?
Day 17 - TIL
📘 Day 17 - Today I Learned
🔍 Today Error or Issues
🛠️ Troubleshooting
📝 Learning Summary
클로저 함수는 왜 사용하는가?
스위프트 공식 문서에 따르면 클로저는 명명된 함수 생성없이 실행되는 코드 그룹이라고 명시 되어있다. 클로저는 정의된 컨텍스트에서 모든 상수와 변수에 대한 참조
를 캡처하고 저장
할 수 있다.
기본적으로 함수는 호출이 끝나면 값이 사라지게 되는데 클로저는 런타임에 메모리에 생성이되고, Swift가 자동으로 메모리를 관리해준다.
즉 함수는 = 정적인 코드
클로저는 = 동적으로 만들어진 실행 블록 + 상태
그렇기에 짧게 값을 참조하고 사용하기에 유용하기에 사용하다.
하지만 클로저는 자신이 캡처한 객체를 강한 참조strong reference
로 보유하는데 그 객체가 자기자신(self
)을 다시 참조하면 강한 순환 참조 retain cycle
를 발생하기에 주의해야한다.
📘 Lesson Learned
오늘의 야구게임 알고리즘을 Set이나 제공하는 라이브러리 없이 함수로만 코드를 짜보았는데, 내일은 조금더 코드를 가독성과 효율성을 둘다 잡아서 코드를 짜보는 것을 목표로 하고, 항상 프로그래밍적 사고를 유지하면서 차근차근 해 나아가자.
This post is licensed under CC BY 4.0 by the author.