#available과 @available

2020. 11. 4. 16:22개발자료/iOS


반응형

#available

여러 플랫폼에서 서로 다른 처리를 결정하기 위해서 if 또는 guard문과 같이 사용된다. (*은 필수)

if #available(iOS 11.0, *) {
	// iOS 11, 12, 13, ...
} else {
	// iOS 10 이하 버전
}

 

@available

함수, 클래스, 프로토콜을 플랫폼 별로 제한할때 사용한다. 

#available과 다르게, 컴파일할때 경고 또는 오류를 생성합니다.

@available(iOS 11, *)
func test() { }

 

iOS 11을 포함한 그 이상의 버전에서만 test함수를 호출 할 수 있다.

deployment target가 지정된 11보다 낮을 경우 test함수를 호출하기위해 #available를 사용해야 한다.

if #available(iOS 11, *) {
	self.test()
} else {
	// Fallback on earlier versions
}


여러개의 플랫폼도 지정가능하다.

@available(iOS 11.0, macOS 10.12, *)
func test() { } 

 

반응형