Swift

Swift) @ 어트리뷰트 키워드 와 @discardableResult

Jimmy Youn 2022. 4. 13. 22:16

1. @ 어트리뷰트 키워드 

: 추가적인 정보를 제공하는 키워드 이다. 

 

 

컴파일러에게 추가적인 정보를 알려주는 역할을 하는 2가지 경우

 

1) 선언에 추가정보 제공 

@available(iOS 10.0) // -> 선언에 추가정보 제공

class Something {

}

 

2) 타입에 추가정보 제공 

func doSomething(completion : @escaping () -> ()) { // @escaping 타입에 추가정보 제공

}

 

2. @discardableResult

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

 

1) 일반적인 함수 선언 경우

func makeSomething() -> String {
	...
    
    return "Car"
}


makeSomething() // 노란색으로 결과값을 사용하지 않는다고 워닝이 뜬다.

_ = makeSomething() // 워닝창을 없애기 위해서 결과값의 사용을 생략한다는 의미에서 _ (와일드카드) 를 사용하면 된다.

 

2) @discardableResult 어트리뷰트의 활용

@discardableResult 
func makeSomething() -> String {
	...
    return "Car"
}

makeSomething() // @discardableResult 어트리뷰트를 사용하면 결과값을 사용하지 않아도 된다고 컴파일러에게 정보를 제공해줘서 경고창이 뜨지 않는다.