본문 바로가기
반응형

스위프트15

15. 옵셔널(Optional) 옵셔널(Optional) 스위프트에는 오브젝티브C나 C에 없던 옵셔널이라는 것이 들어왔다. 처음 접할 때 가장 어려운 개념중에 하나였고 지금도 가끔 이 옵셔널 때문에 멘붕이 올 때가 있다. 책에서 설명하는 내용을 곰곰히 몇 번이나 읽었지만 의도를 정확하게 판단 내릴 수 없다. 다만 추측만 하고 그 추측을 기반으로 이용할 것 같다. 옵셔널은 '선택적인' 즉 값이 있을 수도 있고 없을 수 도 있음을 나타내는 표현인데, 변수 또는 상수의 값이 nil 일 수도 있다는 것을 의미한다.라고 책에 설명되어 있다. 이 말은 내가 이해한대로 설명하자면 변수나 상수을 선언하고 사용할 때 값이 있을 수도 있고 없을 수도 있는 변수나 상수에 적용해서 쓰면 된다. 옵셔널로 선언하는 변수나 상수의 용도나 용법을 그렇게 한정해야 .. 2019. 2. 22.
8. Swift 타입 별칭(typealias) & 튜플(Tuple) 8. Swift 타입 별칭(typealias) & 튜플(Tuple) 스위프트의 타입 추론은 지난번 포스팅에서 살짝 언급을 했기 때문에 패스하고 타입 별칭에 대한 이해를 돕고자 정리해본다. 기본으로 제공하는 데이터 타입이든, 사용자가 임의로 만든 데이터 타입이든 이미 존재하는 데이터 타입에 임의로 다른 이름(별칭)을 부여할 수 있다. 책에서 설명하는 타입 별칭은 너무 간단하다. 실무에서 접했던 typealias는 함수까지도 포함되는 것 같다. typealias MyInt = Inttypealias YourInt = intlet age: MyInt = 100let year: YourInt = 2000 year = age // 같은 타입으로 취급된다. 실무에서 사용한 typealias의 경우, 네트워크 통신 .. 2019. 2. 15.
6. 스위프트 변수와 상수 6. 스위프트 변수와 상수 변수와 상수는 프로그램에서 사용하는 데이터를 메모리에 임시로 저장한다. 변수와 상수는 특정 데이터 타입에 해당하는 값의 이름이다. 변수는 생성 후 데이터값을 변경할 수 있고, 상수는 한번 값을 설정하면 변경할 수 없다. 변수. 스위프트에서 변수를 생성할 때는 var 키워드를 사용 var [변수명]: [데이터타입] = [값] 변수를 생성할 때 데이터 타입은 생략이 가능하다. 상수 스위프트에서 상수는 let 키워드를 사용한다. let [상수명] : [데이터타입] = [값] 상수 역시 데이터타입은 생략이 가능하다. 데이터타입은 생략이 가능하지만 권하지 않는다. 데이터 타입을 생략할 경우 타입 추론하여 타입을 지정하는데 이 것은 스위프트에 많이 많이 아주 많이 익숙해졌을 때 사용하길 .. 2019. 2. 13.
5. 스위프트의 문자열 보간법 5. 스위프트의 문자열 보간법 문자열 보간법(String Interpolation)은 변수 또는 상수 등의 값을 문자열 내에 나타내고 싶을 때 사용하는데 문자열 내에 \(변수나 상수) 의 형태로 표기하면 이를 문자열로 치환해서 넣어 준다. 문자열 보간법을 이용해 프로그래머가 원하는 문자열로 치환하려면 변수나 상수 타입을 CustomStringConvertible프로토콜을 준수하는 description프로퍼티로 구현한다. 문자열 보간법 사용 예) let name: String = "younghu"print("My name is \(name)") > 'My name is younghu' 2019. 2. 13.
4. 스위프트 기본 명명 규칙 4. 스위프트 기본 명명 규칙 스위프트 관련 문서 및 예제는 스위프트의 및 애플의 을 참조. * 코딩은 습관이라 나중에 교정하기 어려우니 처음부터 제대로 된 코딩 규칙 및 명명 규칙을 익히도록 노력하는 것이 좋다. * 변수, 상수, 함수, 메서드, 타입 등의 이름은 유니코드에서 지원하는 어떤 문자(한글, 한자, 영문, 숫자, 이모티콘 등등)라도 사용할 수 있다. 다만 다음과 같은 예외 겨우는 사용할 수 없다. 스위프트에서 미리 정한 예약어 또는 키워드해당 코드 범위내에서 미리 사용되는 기존 이름과 동일한 이름연산자로 사용될 수 있는 기호(+, -, * , / ) 숫자로 시작하는 이름 공백이 포함된 이름 함수, 메서드 인스턴스 이름은 첫 글자를 소문자로 사용하는 소문자 카멜케이스를 사용클래스, 구조체, 익.. 2019. 2. 13.
3. 프로토콜 지향 프로그래밍 3. 프로토콜 지향 프로그래밍 이걸 정리해야할지 고민스러운데, 우선 책에서 간략하게 정리한 내용을 언급해보고자 한다. Objective-C에서도 Protocol 지향적인 프로그램이 가능했기때문에 스위프트에서 사용할 때도 개념적으로 이해가 되었다면 어느정도 수준까지는 쉽게 접할 수 있지 않을까 한다. 작년 스위프트 프로젝트를 진행하면서 많이 느꼈던 부분이 구조체와 열거형에도 접근제어, 캡슐화, 추상화가 가능했기에 코드를 읽는데 어려움이 많았다. 생소하기 때문에... 그래서 스위프트 문법을 공부해야하고 자주 사용해야하고 새로운 방법을 계속 연구해야한다. 이번 프로젝트(앱 고도호)에서는 언어를 스위프트로 변경해서 개발을 하기로 결정했기때문에 작년에 봤던 스위프트 책을 다시 공부하고 있다. 기억이 가물가물..... 2019. 2. 13.
반응형