[iOS/Swift] Closure의 캡쳐리스트와 ARC + AnyObjet
·
IOS - Swift
Closure Capture list 이 코드를 실행시키면 어떻게 될까요? “Hello, World!”가 출력됩니다 그러면 이 코드를 실행시키면 어떻게 될까요? “next”가 출력됩니다. 이런 일이 벌어지는 이유가 뭘까요? 바로 capture list때문입니다. Capture List가 뭔데요? 위 코드에서, 함수를 실행시키려면 Str 이라는 변수가 있어야 하는데 str을 (범위 바깥에서도) 지속적으로 사용하고 싶어서 잇는게 Capture 입니다. Closure의 범위 외부에 있지만 Closure의 내부에서 사용해야해 라는 뜻이에요. 즉, 외부에 존재하는 변수를 사용하기위해 사용됩니다. 실제로는 변수를 캡쳐하는일은 잘 없고 보통 객체를 캡쳐해서 사용합니다 self.사용할 객체 이런식으로 사용합니다. 캡쳐..