Bit 연산자를 사용해보신 적 있나요? 컴퓨터 구조론에서 처음 배웠던 XOR이니 하는 것들은 실제로 프로젝트에서 쓰는 경우는 많지 않죠. 펌웨어등 메모리가 한정적인 환경에서 사용했던 것 같아요. 예전에 Client Class를 만들 때 Option을 iOS에 내장된 Class 처럼 구현하고 싶었습니다. 분명 배열도 아니고 Enum도 아닌 것 같은데 특이한 형태였죠. 하나의 값을 설정할 수도 있고 조합된 값을 지정할 수도 있었습니다. [.slient, .background, .retry]로 옵션을 지정하면 오류가 났을 때 메세지를 띄우지 않고 백그라운드로 처리하고 실패했을 때 재시도하는 거죠. 이런 특이한 형태를 Swift에서는 OptionSet이라는 Protocol로 구현할 수 있게 합니다. 조합할수 있는 값을 Shift 연산자를 통해 정의하기만 하면 됩니다. 그러나 그냥 enum을 사용하는게 적합한 경우도 있죠. 이 글은 어떤 경우에 OptionSet과 Enum을 사용하는 것이 좋은지 사용 유형별로 알려줍니다.
콘텐츠를 더 읽고 싶다면?
원티드에 가입해 주세요.
로그인 후 모든 글을 볼 수 있습니다.
댓글 1

비트 연산자와 Swift의 OptionSet을 활용한 경험을 공유해 주셔서 감사합니다! 실제 프로젝트에서 비트 연산자를 사용하는 방법에 대해 배울 수 있는 좋은 기회가 될 것 같아요. 링크도 흥미로워 보이네요. 잘 읽었습니다! 😊
답글 달기