본문 바로가기
반응형

swift43

15. 옵셔널(Optional) 옵셔널(Optional) 스위프트에는 오브젝티브C나 C에 없던 옵셔널이라는 것이 들어왔다. 처음 접할 때 가장 어려운 개념중에 하나였고 지금도 가끔 이 옵셔널 때문에 멘붕이 올 때가 있다. 책에서 설명하는 내용을 곰곰히 몇 번이나 읽었지만 의도를 정확하게 판단 내릴 수 없다. 다만 추측만 하고 그 추측을 기반으로 이용할 것 같다. 옵셔널은 '선택적인' 즉 값이 있을 수도 있고 없을 수 도 있음을 나타내는 표현인데, 변수 또는 상수의 값이 nil 일 수도 있다는 것을 의미한다.라고 책에 설명되어 있다. 이 말은 내가 이해한대로 설명하자면 변수나 상수을 선언하고 사용할 때 값이 있을 수도 있고 없을 수도 있는 변수나 상수에 적용해서 쓰면 된다. 옵셔널로 선언하는 변수나 상수의 용도나 용법을 그렇게 한정해야 .. 2019. 2. 22.
14. Swift의 다양한 함수들 Swift의 다양한 함수들 Swift의 중첩함수. 스위프트에서는 데이터 타입의 중첩이 자유롭다. 열거형 안에 또 하나의 열거형이 들어갈 수 있고 클래스 안에 또 다른 클래스가 들어 갈 수 있다. 함수의 중첩은 함수 안에 함수를 넣을 수 있다. 일반적인 함수는 모두 전역함수로 모듈 어디서든 사용할 수 있는 함수이다. 함수 안에 함수로 구현된 중첩 함수는 상위 함수의 몸통 블록 내부에서만 함수를 사용할 수 있다. 중첩 함수라고 해서 외부에서 사용할 수 없는 것은 아니다. 함수가 하나의 반환 값으로 사용될 수있으므로(일급 객체라 가능) 중첩 함수를 담은 함수가 중첩 함수를 반환하면 밖에서도 사용할 수 있다. 함수의 아그먼트와 리턴타입을 typealias로 정의를 하고 함수를 할당해주는 방식으로 자바스크립트의 .. 2019. 2. 21.
13. Swift함수의 반환 타입 13. Swift함수의 반환 타입 함수는 특정 연산을 수행한 후 결과값을 반환할 수 도 있고 반환하지 않을 수 도 있다. 만약 반환 값이 없는 함수라면 반환 타입을 '없음'을 의미하는 Void로 표기하거나 아예 반환 타입 표현을 생략해도 된다. 즉, 반환 타입이 Void이거나 생략되어 있다면 반환 값이 없는 없는 함수이다. func byebye() -> Void { //명시적으로 Void를 선언해도 된다. print("say good by~")} Swift에서 함수는 일급 객체이므로 하나의 데이터 타입으로 사용할 수 있다. 각 함수는 매개변수 타입과 반환 타입으로 구성된 하나의 타입으로 사용(정의)할 수 있다는 뜻이다. (매개변수 타입의 나열) -> 반환 타입 func makMyName(name: Str.. 2019. 2. 20.
12. Swift 함수의 매개변수 이름과 전달인자 레이블 Swift 함수의 매개변수 이름과 전달인자 레이블 func makName(first: String, last: String) -> String { return "hi~ my name is \(first) \(last)" } print (makName(first: "min", last: "younghu")) // hi~ my name is min younghu !! 함수를 호출할 때 first와 last라는 매개변수 이름(Parameter name)을 사용할 수 있다. 매개변수 이름과 더불어 전달인자 레이블(Argument Label)을 지정 해줄 수 있다. 보통 함수를 정의할 때 매개변수를 정의하면 매개변수 이름과 전달 인자 레이블을 같은 이름으로 사용할 수 있지만 전달인자 레이블을 별도로 지정하면 함수.. 2019. 2. 19.
11. Switch문의 골격 11. Switch문의 골격 이건 걍 단순하게 switch문의 골격을 나타내는 포스팅이다. switch 입력 값 {case 비교 값 1: 실행 구문case 비교 값2: 실행 구문//case문 끝나고 swith문을 빠져나가지 않게 하기 위해서는 //fallthrough//를 적어야 한다. case 비교 값3, 비교 값4, 비교 값5: //한번에 여러 값과 비교할 수 있다. 실행구문 break //break 키워드를 통한 종료는 선택적이다. default: // 한정된 범위가 명확하지 않다면 default는 필수다. 실행 구문 } 스위치 구문에서 튜플을 사용할 수 있다. typealias NameAge = (name: String, age: Int)let tuple: NameAge = ("yh.min", 9.. 2019. 2. 18.
10. Swift 열거형(enum) 10. Swift 열거형(enum) 이 열거형도 굉장히 많이 사용하는 것 중 하나라 정리를 한다. 기본적인 개념들에 대해서는 알고 있으나 얼마나 응용을 해서 개발하는지에 따라 차이가 많이 나는 것 같다. 열거형은 연관된 항목들을 묶어서 표현할 수 있는 타입이다. 이 열거형은 정의한 값 외에는 추가/수정이 불가능하다. 열거형은 다음과 같은 경우 사용하면 유용하게 사용할 수 있다. 제한된 선택지를 주고 싶을 때 정해진 값 외에는 입력받고 싶지 않을 때 예상된 입력 값이 한정되어 있을 때 스위프트의 열거형은 항목별로 값을 가질 수 도 있고 가지지 않을 수도 있다. 스위프트의 열거형은 각 항목이 그 자체로 고유의 값이 될 수 있다. 따라서 시수로 버그가 일어날 가능성을 원천 봉쇄할 수 있다. 스위프트의 주요 기.. 2019. 2. 17.
반응형