다른 조원 분의 프로젝트를 보다가 @discardableResult
를 사용한 부분을 보게되었다.
오늘은 @discardableResult
에 대해서 알아보자.
버릴 수 있는 결과
정도로 해석할 수 있는 @discardableResult
공식문에서는 이렇게 정의하고 있다.
“결과를 사용하지 않고 값을 반환하는 함수 또는 메서드가 호출될 때 컴파일러 경고를 표시하지 않으려면 이 특성을 함수 또는 메서드 선언에 적용합니다.”
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함수 선언의 속성은 함수가 값을 반환하더라도 반환 값이 사용되지 않는 경우 컴파일러에서 경고를 생성하지 않아야 함을 나타냅니다.
예제를 살펴보면
2개의 Int를 받아 합계를 리턴하는 함수 sum
을 만들고 호출해보면 Xcode에서 Result of call to 'sum(a: b:)' is unused
라는 경고를 보여준다. 리턴되는 값을 사용하지 않아 경고를 보여주는 것인데,
이럴 때 @discardableResult
를 앞에 붙여주면 경고를 무시하고 사용할 수 있다.