/**
열거형에 연관값이 있는 경우
*/
chip = Computer.hardDisk(gb: 10)
/**
열거형 case 패턴
*/
if case Computer.hardDisk(gb: let gB) = chip {
print("\(gB) 기가 바이트 하드디스크이다.")
}
if case Computer.hardDisk(gb: let gB) = chip, gB == 256 { // 처리를 다양하게 활용 가능
print("\(gB) 기가 바이트 하드디스크이다.")
}
let chiplists : [Computer] = [
.cpu(core: 4, ghz: 3.0),
.cpu(core: 8, ghz: 3.5),
.ram(16, "SRAM"),
.ram(32, "DRAM"),
.cpu(core: 8, ghz: 3.5),
.hardDisk(gb: 500),
.hardDisk(gb: 256)
]
for case let .cpu(core: c, ghz: h) in chiplists {
print("CPU 칩 : \(c)코어, \(h)헤르츠")
}
for chip in chiplists {
print("\(chip)")
}
// 배열에 optional 타입으로 사용
let arrays: [Int?] = [nil, 2, 3, nil, 5]
// .some()을 사용 -> nil 은 버린다
for case let .some(number) in arrays {
print("\(number)")
}