Bit 연산자를 사용해보신 적 있나요?

컴퓨터 구조론에서 처음 배웠던 XOR이니 하는 것들은 실제로 프로젝트에서 쓰는 경우는 많지 않죠.


펌웨어등 메모리가 한정적인 환경에서 사용했던 것 같아요.


예전에 Client Class를 만들 때 Option을 iOS에 내장된 Class 처럼 구현하고 싶었습니다.

분명 배열도 아니고 Enum도 아닌 것 같은데 특이한 형태였죠.


하나의 값을 설정할 수도 있고 조합된 값을 지정할 수도 있었습니다.


[.slient, .background, .retry]로 옵션을 지정하면 오류가 났을 때 메세지를 띄우지 않고 백그라운드로 처리하고 실패했을 때 재시도하는 거죠.


이런 특이한 형태를 Swift에서는 OptionSet이라는 Protocol로 구현할 수 있게 합니다.


조합할수 있는 값을 Shift 연산자를 통해 정의하기만 하면 됩니다.


그러나 그냥 enum을 사용하는게 적합한 경우도 있죠.


이 글은 어떤 경우에 OptionSet과 Enum을 사용하는 것이 좋은지 사용 유형별로 알려줍니다.


https://youtu.be/KN8dT8hvJZ8

- YouTube

youtu.be

 - YouTube

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2025년 3월 23일 오후 2:23

댓글 0

    함께 읽은 게시물

    이번 WWDC에서 애플이 발표한 새로운 디자인 시스템인 Liquid Glass도 역시 호불호가 있겠지만, 개인적으로는 가장 좋아했던 Mac OS X 첫 출시때 디자인인 Aqua 디자인과 닮아서 맘에든다.

    ... 더 보기