본문 바로가기

enum

클래스, 구조체, 열거형 비교 Class vs Struct/Enum 소스코드 열거형과 구조체는 값 타입이며, 클래스는 참조 타입이라는 것이 가장 큰 차이입니다. 또한, 클래스는 상속이 가능하지만 구조체와 열거형은 상속이 불가능합니다.struct ValueType { var property = 1 } class ReferenceType { var property = 1 } // 첫 번째 구조체 인스턴스 let firstStructInstance = ValueType() // 두 번째 구조체 인스턴스에 첫 번째 인스턴스 값 복사 var secondStructInstance = firstStructInstance // 두 번째 구조체 인스턴스 프로퍼티 값 수정 secondStructInstance.property = 2 // 두 번째 구조.. 더보기
열거형 - Enumerations 열거형 소스코드 정의 문법스위프트의 열거형은 다른 언어의 열거형과는 많이 다릅니다. 잘 살펴보아야 할 스위프트의 기능 중 하나입니다.enum은 타입이므로 대문자 카멜케이스를 사용하여 이름을 정의합니다각 case는 소문자 카멜케이스로 정의합니다각 case는 그 자체가 고유의 값입니다각 케이스는 한 줄에 개별로도, 한 줄에 여러개도 정의할 수 있습니다 enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 // ... } 열거형 사용enum Weekday { case mon case tue case wed case thu, fri, sat, sun } // 열거형 타입과 케이스를 모두 사용하여도 됩니다 var day: Weekday = Weekday.mon // 타입이 명확하다면.. 더보기
Swift에서 Objective-C의 상수 대체제에 관하여 오늘의 주제 Objective-C의 상수와 스위프트의 상수 안녕하세요 야곰입니다.Objective-C를 쓰다가 스위프트로 넘어왔을 때 고민되었던 부분 중의 하나인 스위프트의 상수에 관해 이야기해 보려 합니다. 혼자 프로젝트를 진행하다 보면 상수의 필요성을 많이 느낄 수 없을지 모르지만, 누군가 협업을 하게 된다면, 혹은 미래 또는 과거의 나와 협업(?)을 하게 된다면 상수의 필요성을 많이 느끼게 됩니다. 바꾸면 안 되는 데이터를 실수로 바꿔서 난감했던 경험이 없나요? 혹시 그런 적이 있다면 상수의 필요성에 대해서는 많이 공감하실 것으로 생각됩니다. * 오해가 생길 소지의 표현들이 있어서 처음 발행 이후 조금 수정하였습니다. 좋은 의견 주신 과니님 고맙습니다 :) 사라진 const 사실 저는 Objecti.. 더보기
iOS개발하기 #51. 실전 프로젝트. 간단한 계산기와 메모장(2) 오늘의 주제 1. 계산기 기능 넣기 2. 메모장 화면 구성 바꾸기 쉰 한 번째 시간입니다.^^ 지난 번에 만들어 놓은 계산기 아직 잘 갖고 계신가요?ㅎㅎㅎ 이제 계산기 로직을 완성해 볼 차례입니다. 아............. 지금 제가 글을 쓰고 있는 이 시간은 아직 훈련소에 가기 전이지만, 전 지금 훈련소에서 뒹굴고 있겠군요 ㅋㅋㅋㅋㅋㅋㅋㅋ 뭐, 응원의 한마디...는 볼 수 없겠지만 무탈히 돌아오도록 기도해주세요 ㅋㅋㅋㅋㅋ 2일 전인데 한달이라도 막상 가려니까 싱숭생숭 하네요 ㅋㅋㅋ 아마 들어가기 전까지도 계속 블로그 포스팅 예약을 하다 갈거 같은..ㅋㅋㅋㅋㅋㅋㅋㅋ 뭐 여튼 사설은 각설하고 시작해 봅니다~~~~~~~~~~~~~ # 계산기 기능 완성하기 일단, 지난번에 구현파일에 만들어 주었던 enum을.. 더보기
iOS개발하기 #37. UISearchDisplayController(3) <UITableView, UITableDataSource> 오늘의 주제 1. 테이블 뷰에 파싱결과 뿌리기 서른 일곱 번째 시간입니다.^^ 지난 번에는 웹에 자료를 요청하고 JSON으로 결과를 받아 파싱하는 과정까지 해 보았습니다. 잘 실행 되셨나요? 계속해서 코드의 양이 늘어나고 어려워 지고 있습니다 +_+ 코드의 양도 많고 해야 할 것도, 처리해 줘야 할 것들도 많기 때문에 코드에 일일히 설명을 자세히 달기가 더 어려워지고 있습니다 ㅠ_ㅠ 여러분께서 부족한 부분은 질문을 주셔서 채워주셔야 합니다~! 그럼 오늘 또 차근차근 스텝을 밟아 나가 볼까요?ㅎ 렛츠고~~~~~~~~~ # 테이블뷰에 결과 띄워주기 자, 파싱된 결과를 활용해 주어야 하기 때문에 적절히 딕셔너리와 배열 포인터를 헤더에 선언해 줍니다. 변수를 만들어 줬으면 초기화와 마무리는 꼭 해주어야 하는거 .. 더보기
C <20>. enum 오늘의 주제 1. enum 벌써 스무 번째 시간입니다.^^ 지난 번에 연결리스트에 대해 알아보았는데요 ㅎ 어려우셨죠? 요번에는 잠시 쉬어갈 겸 간단한 녀석 하나 들고 왔습니다~ 이런 녀석도 있구나~ 알고 가시면 될 듯 합니다. 자 그럼 상쾌한 기분으로 출발 해 볼까요? 고고씽~~~~~~~~~~~~ # enum 지난 번에 전처리자를 이야기 하면서 enum에 대하여 스치듯이 이야기 해 드린 것 같은데요 그때 소개해 드리지 못해 이번에 소개해 드리려 합니다. enum은 상수 세트를 선언 해 줄 수 있습니다. 주로 어떤 상수 Flag를 지정해 줄 때 사용하게 되는데요, 그게 무슨 뜻이냐 하면 내가 프로그램 안에서의 약속을 상태1 == 0 상태2 == 1 상태3 == 2 으로 표현 간단히 해 주고 싶을 때 사용하.. 더보기
C <15>. 전처리자 오늘의 주제 1. #define 2. #ifdef 열 다섯번째 시간입니다.^^ 지난 번에는 배열에 대해 알아보았는데, 흥미로우셨나요? 배열은 두고두고 계속 사용하게 되니까 잘 알아두셔야 합니다~ 게다가 배열과 포인터는 뗄 수 없는 관계이므로 꼭 기억해 두세요 ㅎ 이번엔 전처리자에 대해 알아봅니다. 스따뚜~~~~~~~~~~~~ 그 전에 추천 한 방 어떠세요?ㅎ # 전처리자 전처리자는 전처리 명령을 수행하는 녀석입니다. 전처리 명령은 '#'으로 시작하게 됩니다. 우리가 흔히 볼 수 있는 전처리 명령에는 #include가 있겠죠? 이 전처리 명령은 컴파일이 시작되기 전에 처리가 되게 됩니다. 그래서 이름이 전처리 명령이죠..^^ 이 전처리 명령을 수행하는 전처리기는 C언어의 문법을 알지 못합니다. 어쨋든 이 .. 더보기