[Swift] Swift5.1에서 enum까지의 Associated Values에서 기본값을 설정할 수 있습니다.
Swift enum
enum 요소에 관련 값을 포함할 수 있습니다.
초기화할 때 연관 값을 설정해야 합니다.
Swift5.1부터 기본값을 설정할 수 있습니다.
이번에 우리는 공식 가이드의 예로 한번 보았다.
https://docs.swift.org/swift-book/LanguageGuide/Enumerations.html
검증 환경: Xcode11Beta3
지금까지
아래와 같은 모든 값을 지정해야 합니다.
enum Barcode {
case upc(Int, Int, Int, Int)
case qrCode(String)
}
var productBarcode = Barcode.upc(8, 85909, 51226, 3)
print(productBarcode) // upc(8, 85909, 51226, 3)
Swift5.1
enum Barcode {
case upc(a: Int = 1, Int, Int, Int)
case qrCode(String)
}
var productBarcode = Barcode.upc(85909, 51226, 3)
print(productBarcode) // upc(a: 1, 85909, 51226, 3)
에서 설명한 대로 해당 매개변수의 값을 수정합니다.
하지만
태그 매개변수를 설정하지 않으면 컴파일이 잘못됩니다.
예를 들어 아래와 같이 시간을 내도 상관없다.
enum Barcode {
case upc(a:Int = 1, Int, Int, d: Int = 4)
case qrCode(String)
}
var productBarcode = Barcode.upc(85909, 51226)
print(productBarcode) // upc(a: 1, 85909, 51226, d: 4)
그렇게 지도 모른다, 아마, 아마...
이렇게 하면 지루한 기록을 줄일 수 있었으면 좋겠다
Reference
이 문제에 관하여([Swift] Swift5.1에서 enum까지의 Associated Values에서 기본값을 설정할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shiz/items/30fc7d3ff78fefbb3a40
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
enum Barcode {
case upc(Int, Int, Int, Int)
case qrCode(String)
}
var productBarcode = Barcode.upc(8, 85909, 51226, 3)
print(productBarcode) // upc(8, 85909, 51226, 3)
enum Barcode {
case upc(a: Int = 1, Int, Int, Int)
case qrCode(String)
}
var productBarcode = Barcode.upc(85909, 51226, 3)
print(productBarcode) // upc(a: 1, 85909, 51226, 3)
enum Barcode {
case upc(a:Int = 1, Int, Int, d: Int = 4)
case qrCode(String)
}
var productBarcode = Barcode.upc(85909, 51226)
print(productBarcode) // upc(a: 1, 85909, 51226, d: 4)
Reference
이 문제에 관하여([Swift] Swift5.1에서 enum까지의 Associated Values에서 기본값을 설정할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shiz/items/30fc7d3ff78fefbb3a40텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)