빙수왕의 개발일지

`self`에 Backquote를 넣는 이유 본문

개발/iOS

`self`에 Backquote를 넣는 이유

빙수킹 2020. 11. 29. 04:33

클로져에서

[weak self] _ in
	guard let self = `self` else { return }

 

이런 코드 발견

`self`라고 쓸까? 백틱 없이 self라고 써도 되는데?

 

여기 나와 같은 고민

https://stackoverflow.com/questions/50119484/self-in-swift-closure

 

`self` in Swift closure

I want to understant self in Swift closure. For Ex - () -> Void = { [weak self] in guard let `self` = self else { self.callMethod2() } self.callMethod3() } Why we use

stackoverflow.com

 

`(Backquote) 스위프트의 키워드(예약어) 이름으로 사용할  쓰는것임.. ex) `var`

guard문에서 self라는 새로운 로컬 변수를 생성하고 있으므로 백틱을 넣어줘야 한다.

당연한 얘기였다 바보..

 

그럼 왜 self = self가 가능한가?

Swift 4.2부터 이게 가능했다고 함..

 

Swift 4.2 recently adopted a proposal to add this to the language:

guard let self = self else { return }