티스토리 뷰
출처
상수와 변수
선언
let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0
var x = 0.0, y = 0.0, z = 0.0
타입을 명시
var welcomeMessage: String
var red, green, blue: Double
상수나 변수 출력
var currentLoginAttempt = 0
print(currentLoginAttempt)
var welcomeMessage: String = "Hello"
print("\(welcomeMessage) Swift!")
print(type(of: welcomeMessage))
변수의 type 을 알고 싶으면, type(of: ~) 를 사용한다.
세미콜론과 주석
/* This is the start of the first multiline comment.
/* This is the second, nested multiline comment. */
This is the end of the first multiline comment. */
즉, /* ~ */ 의 짝이 맞아야 한다.
자료형
정수형
let minValue = UInt8.min //0
let maxValue = UInt8.max //255
실수형
타입 안전성과 타입 추론
타입 추론은 상수나 변수를 선언하는 시점에 값을 할당하면 타입을 알아서 가지는 것을 말한다.
let meaningOfLife = 42
print(type(of: meaningOfLife)) //Int
let pi = 3.14159
print(type(of: pi)) //Double
숫자의 원래 값 (literal)
let decimalInteger = 17
let binaryInteger = 0b10001 // 17 in binary notation
let octalInteger = 0o21 // 17 in octal notation
let hexadecimalInteger = 0x11 // 17 in hexadecimal notation
literal 에서는 읽기 쉽게 별도의 서식 ( _ ) 를 포함할 수 있다.
literal 에서 의 언더바는 아무런 영향을 주지 않는 서식이다.
let paddedDouble = 000123.456
let oneMillion = 1_000_000
let justOverOneMillion = 1_000_000.000_000_1
숫자의 형 변환
let twoThousand: UInt16 = 2_000
let one: UInt8 = 1
let twoThousandAndOne = twoThousand + UInt16(one)
정수, 부동소숫점의 형 변환에서도 명시적으로 형 변환을 해줘야한다.
형 변환 없는 더하기는 허용되지 않는다.
let value1 = 5
let value2 = 3.3
let value3 = Double(value1) + value2
타입 별명 (typealias)
typealias AudioSample = UInt16
var maxAmplitudeFound = AudioSample.min
Boolean
let orangesAreOrange = true
let turnipsAreDelicious = false
Tuple
여러 개의 값을 하나로 합성하여 그룹화한다.
튜플 내의 값은 모든 타입이 될 수 있고 같은 타입이지 않아도 된다.
순서를 가진 (permutation) 모든 타입으로부터 튜플을 만들 수 있고 2개 이상도 가능하다.
let http404Error = (404, "Not Found")
(== let http404Error = (statusCode:404, statusMessage:"Not Found"))
let (statusCode, statusMessage) = http404Error
print("The status code is \(statusCode)") // "The status code is 404"
print("The status message is \(statusMessage)") // "The status message is Not Found"
튜플을 분해할 때 일부만 필요한 경우 밑줄이 있는 부분은 튜플에서 무시한다.
let (justTheStatusCode, _) = http404Error
print("The status code is \(justTheStatusCode)")
꼭 naming 을 하지 않아도 인덱스로 각각 요소의 값에 접근이 가능하다.
print("The status code is \(http404Error.0)")
print("The status message is \(http404Error.1)")
튜플은 관련된 값들을 임시로 그룹화하는데 유용하다.
복잡한 데이터의 구조를 만들기에는 적합하지 않다.
데이터 구조가 임시적이 아니라 계속 사용되어야한다면
튜플보다 클래스나 구조체 모델이 더 좋다.
'iOS 개발 > Swift' 카테고리의 다른 글
[Swift 3] 흐름 제어 (Flow Control / for, while, if-else, switch, fallthrough, guard, label, available) (0) | 2017.04.13 |
---|---|
[Swift 3] 컬렉션 타입 (Collection Types_Array, Set, Dictionary) (0) | 2017.04.13 |
[Swift 3] 문자열과 문자 (String, Characters) (0) | 2017.04.12 |
[Swift 3] 기본 연산자 (Basic Operators) (0) | 2017.04.12 |
[Swift 3] 기본사항 -2 (Optional, Error Handle) (0) | 2017.04.12 |
- Total
- Today
- Yesterday
- ios
- string
- thread
- Swift
- Arc
- set
- NSManagedObjectModel
- delegate
- workerThread
- docker
- applicationWillResignActive
- EffectiveObjectiveC
- NSManagedObject
- CIImage
- 꺼내먹어요
- Swift 3
- Swift 3.0
- HTTP
- RunLoop
- Swfit
- NSManagedObjectContext
- AWS
- 읽기 좋은 코드가 좋은 코드다
- UIView
- Swift3
- dictionary
- Block
- optional
- CGImage
- coredata
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |