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

Swift(var & let, tuple, optional binding)

Jul 23, 2015

Download

Software

KimDaeho
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Swift(var & let, tuple, optional binding)

Swift 세미나

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

지도교수: 박동규 2014.12.29

Page 2: Swift(var & let, tuple, optional binding)

목차

•상수와 변수(Constants & Variables)

•튜플(Tuples)

•옵셔널(Optional)

Page 3: Swift(var & let, tuple, optional binding)

상수와 변수

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

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

Page 4: Swift(var & let, tuple, optional binding)

Type?

변수 -> “var”

상수 -> “let”

Page 5: Swift(var & let, tuple, optional binding)

상수와 변수

Page 6: Swift(var & let, tuple, optional binding)

상수와 변수

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

Page 7: Swift(var & let, tuple, optional binding)

상수와 변수

Page 8: Swift(var & let, tuple, optional binding)

타입 명시(Type Annotations)

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

Page 9: Swift(var & let, tuple, optional binding)

타입 명시(Type Annotations)

Page 10: Swift(var & let, tuple, optional binding)

타입 명시(Type Annotations)

Page 11: Swift(var & let, tuple, optional binding)

출력

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

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

Page 12: Swift(var & let, tuple, optional binding)

출력

Page 13: Swift(var & let, tuple, optional binding)

튜플(Tuples)

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

• 구조체와 비슷한 역할

Page 14: Swift(var & let, tuple, optional binding)

튜플(Tuples)

Page 15: Swift(var & let, tuple, optional binding)

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

Page 16: Swift(var & let, tuple, optional binding)

튜플(Tuples)

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

Page 17: Swift(var & let, tuple, optional binding)

튜플(Tuples)

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

Page 18: Swift(var & let, tuple, optional binding)

튜플(Tuples)

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

Page 19: Swift(var & let, tuple, optional binding)

옵셔널(Optionals)

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

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

Page 20: Swift(var & let, tuple, optional binding)

옵셔널(Optionals)

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

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

Page 21: Swift(var & let, tuple, optional binding)

옵셔널(Optionals)

Page 22: Swift(var & let, tuple, optional binding)

옵셔널(Optionals)

Page 23: Swift(var & let, tuple, optional binding)

옵셔널(Optionals)

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

Page 24: Swift(var & let, tuple, optional binding)

옵셔널(Optionals)

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

Page 25: Swift(var & let, tuple, optional binding)

옵셔널(Optionals)

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

Page 26: Swift(var & let, tuple, optional binding)

옵셔널(Optionals)

Page 27: Swift(var & let, tuple, optional binding)

옵셔널 바인딩

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

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

Page 28: Swift(var & let, tuple, optional binding)

옵셔널 바인딩

Page 29: Swift(var & let, tuple, optional binding)

옵셔널 체인

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

Page 30: Swift(var & let, tuple, optional binding)

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

age 프로퍼티를 가진다

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

Page 31: Swift(var & let, tuple, optional binding)

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

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

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

Page 32: Swift(var & let, tuple, optional binding)

참고자료

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

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

Page 33: Swift(var & let, tuple, optional binding)

Q & A

Page 34: Swift(var & let, tuple, optional binding)

Thank you