Featured image of post Attributes - @discardableResult란?

Attributes - @discardableResult란?

다른 조원 분의 프로젝트를 보다가 @discardableResult를 사용한 부분을 보게되었다.

오늘은 @discardableResult에 대해서 알아보자.
버릴 수 있는 결과 정도로 해석할 수 있는 @discardableResult

img 공식문에서는 이렇게 정의하고 있다.

“결과를 사용하지 않고 값을 반환하는 함수 또는 메서드가 호출될 때 컴파일러 경고를 표시하지 않으려면 이 특성을 함수 또는 메서드 선언에 적용합니다.”

Attributes 페이지 상단에 있는 예제를 살펴보면

the discardableResult attribute on a function declaration indicates that, although the function returns a value, the compiler shouldn’t generate a warning if the return value is unused.

discardableResult함수 선언의 속성은 함수가 값을 반환하더라도 반환 값이 사용되지 않는 경우 컴파일러에서 경고를 생성하지 않아야 함을 나타냅니다.

예제를 살펴보면

img 2개의 Int를 받아 합계를 리턴하는 함수 sum을 만들고 호출해보면 Xcode에서 Result of call to 'sum(a: b:)' is unused라는 경고를 보여준다. 리턴되는 값을 사용하지 않아 경고를 보여주는 것인데,

img 이럴 때 @discardableResult를 앞에 붙여주면 경고를 무시하고 사용할 수 있다.

Reference

Swift Docs - Attributes