2
모두. Closures을 읽을 때 인라인 클로저에 대한 정의가 없습니다.스위프트에서 "인라인 클로저"를 이해하는 방법?
Q1 : "인라인 클로저"에서 인라인을 이해하는 방법은 무엇입니까?
Q2 : "인라인 클로저"와 일반 클로저의 차이점은 무엇입니까?
미리 도움 주셔서 감사합니다.
모두. Closures을 읽을 때 인라인 클로저에 대한 정의가 없습니다.스위프트에서 "인라인 클로저"를 이해하는 방법?
Q1 : "인라인 클로저"에서 인라인을 이해하는 방법은 무엇입니까?
Q2 : "인라인 클로저"와 일반 클로저의 차이점은 무엇입니까?
미리 도움 주셔서 감사합니다.
인라인 값은 먼저 중간 변수에 할당하지 않고 직접 사용되는 값입니다. 이들 두 실시 예를 고려
여기let number = 1
print(number)
가 1
이어서 인쇄 된 중간 변수 number
에 할당된다.
print(1)
여기서, 1
은 인라인 된 정수 리터럴이며 직접 인쇄됩니다.
동일한 내용이 클로저에 적용됩니다. 여기
let evenNumberFilter: (Int) -> Bool = { $0 % 2 == 0 }
print((0...10).filter(evenNumberFilter))
, { $0 % 2 == 0 }
사용되기 전에 중간 변수 evenNumberFilter
에 할당 ((Int) -> Bool
형의)가 폐쇄된다.
print((0...10).filter{ $0 % 2 == 0 })
이 경우, { $0 % 2 == 0 }
을 직접 사용했습니다. 인라인 클로저입니다.
감사합니다. @Alexander –
@VinothVino 질문에 답한 경우 대답을 수락하십시오. – Alexander