34
Swift 세미나 창원대학교 정보통신공학과 Mobile-X 김대호 지도교수: 박동규 2014.12.29

Swift(var & let, tuple, optional binding)

Embed Size (px)

Citation preview

Swift 세미나

창원대학교 정보통신공학과 Mobile-X 김대호

지도교수: 박동규 2014.12.29

목차

•상수와 변수(Constants & Variables)

•튜플(Tuples)

•옵셔널(Optional)

상수와 변수

• Constants : 값을 지정받으면 바꿀수 없음

• Variables : 값을 지정 받아도 언제나 바꿀 수 있음

Type?

변수 -> “var”

상수 -> “let”

상수와 변수

상수와 변수

상수는 초기화를 하면 변경 할 수 없다.

상수와 변수

타입 명시(Type Annotations)

• 상수나 변수를 만들때 어떤형태의 값이 저장될 지 명확하게 타입을 명시할 수 있음

타입 명시(Type Annotations)

타입 명시(Type Annotations)

출력

• println() 메서드를 사용하여 상수와 변수의 현재 값을 출력할 수 있다

• Objective-c 의 NSLog와 비슷한 기능을 한다

출력

튜플(Tuples)

• 여러 타입형 값들을 하나의 상수, 변수 값로 만듬

• 구조체와 비슷한 역할

튜플(Tuples)

튜플(Tuples)초기화 부분, Int 형 String 형이 함께 상수값에 묶여져 있다.

튜플(Tuples)

elements, 0부터 첫번째 요소를 불러온다

튜플(Tuples)

변수형 튜플로서, 요소의 값을 변화 시킬 수 있다.

튜플(Tuples)

반대로, 선언했던 부분을 순서를 가진 튜플로 재생성하여 가져 올수 있다

옵셔널(Optionals)

• 상수와 변수의 값의 유, 무를 체크할 때 사용

• nil을 이용한 값의 유무 체크

옵셔널(Optionals)

• Objective-c에서의 nil의 사용은 존재하지 않는 객체에 대한 포인터를 의미

• Swift에서의 “nil” 은 정말로 데이터가 없음이라는 것으로 명시

옵셔널(Optionals)

옵셔널(Optionals)

옵셔널(Optionals)

옵셔널 타입을 하면 변수의 사용(연산 처리)이 불가능하다

옵셔널(Optionals)

변수 옆에 느낌표를 붙여 강제 언랩핑을 시키면 옵셔널 타입도 연산이 가능하다.

옵셔널(Optionals)

toInt() 메서드는 String값을 Int 형으로 바꾸게 되는데 옵셔널 Int? 타입로 바꾼다

옵셔널(Optionals)

옵셔널 바인딩

• 옵셔널의 값이 nil 인지 아닌지 우선적으로 구분

• 옵셔널로 타입된 값을 본래 상수(혹은 변수)로 사용하도록 만들 때 사용

옵셔널 바인딩

옵셔널 체인

• 옵셔널 타입의 메소드나 프로퍼티를 좀 더 간단하게 가져올수 있도록 만든 기능

옵셔널 체인현재 Person Class 는 name 프로퍼티와

age 프로퍼티를 가진다

PersonRecord는 person 이라는 Person클래스 옵셔널 타입을 가진다.

옵셔널 체인person 프로퍼티에 ?를 붙여

Person() 의 name 에 액세스를 가능하도록한다

하지만 별도의 person 프로퍼티에 오브젝트를 생성하지 않았으므로 nil 값이오게된다.

참고자료

• http://swift.leantra.kr <- 상수와 변수, 튜플, 옵셔널

• https://www.penflip.com/jjuakim/swift-korean/blob/2f2d38ad8871116f53c96eaf9e4905d3dd42daee/chapter19.txt <- 옵셔널 체인

Q & A

Thank you