본문 바로가기

iOS/STUDY

[iOS] @discardableResult

@ : Attribute 키워드

컴파일러에게 추가적인 정보를 알려주는 역할을 합니다.

 

1. 선언에 추가적인 정보를 제공하거나

2. 타입에 추가적인 정보를 제공합니다.

 

// 1. 선언
@available(iOS 10.0)
class MyClass {
	...
}

// 2. 타입
func doSomething(completion: @escaping()->()) {
	...
}

 

 

@discardableResult

함수의 리턴값을 활용하지 않는 경우에 사용합니다.

 

일반적으로 return값을 반환하는 함수를 선언하고 호출할 때,

이 값을 사용하지 않는다면 경고창으로 결과값을 사용하지 않는다고 알려줍니다.

 

is unused

 

이 때 @discardableResult 를 함수위에 써주면

"결과값을 사용하지 않아도 된다" 라고 컴파일러에게 정보를 알려줍니다.

그럼 결과값을 사용하지 않아도 경고창이 뜨지 않게됩니다.