이거 쥬스메이커때 스티븐이 가르쳐준건데 까먹었다 케..
아 이래서 야곰이 프로젝트 복습하라고 한건가 끙... 😅
Protocol
CaseIterable
A type that provides a collection of all of its values.
When using a CaseIterable type, you can access a collection of all of the type’s cases by using the type’s allCases property.
enum CompassDirection: CaseIterable {
case north, south, east, west
}
print("There are \(CompassDirection.allCases.count) directions.")
// Prints "There are 4 directions."
let caseList = CompassDirection.allCases
.map({ "\($0)" })
.joined(separator: ", ")
// caseList == "north, south, east, west"
custom enum type에서 랜덤으로 enum case를 뽑아내는 방법
let randomDirection = CompassDirection.allCases.randomElement()
print(randomDirection!)
참고 자료
How to get a random enum value from custom enum type
우리가 구상했던 건
업무 시작, 완료 이 부분만 은행원의 역할이라고 생각하고
handleCustomers() 메소드로 은행원 타입에 넣어주려고 했음.
근데 부분만 가져오려니 에러가 나서 결국 switch 구문 통째로 가져옴 ^.ㅠ
억지로 타입을 다른 파일로 옮기다보니
다른 타입에 있는 메소드를 부른다는게
중복된 은행 인스턴스를 여러개 만든 꼴이 되버렸다...
→ 필요없는 타입(은행원은 스레드이므로)을 지워주고
switch 구문은 다시 원래 있었던 위치인 Bank로 복구
기타)
Thanks to 이안 😊