티스토리 뷰
출처
http://kka7.tistory.com/4
할당 연산자 ( = )
할당 연산자는 a 의 값을 b 의 값으로 초기화 하거나 갱신한다.
우측이 어려 값을 갖는 튜플이면 한번에 여러개의 상수나 변수 요소들로 분해할 수 있다.
let (x, y) = (1, 2)
Objective-C 와 다르게
Swift 에서의 할당 연산자는 값을 반환하지 않는다.
if x = y {
// This is not valid, because x = y does not return a value.
}
이 기능은 할당 연산자가 우연치 않게 동등 연산자로 사용되는 것을 막아주기 위해 도입되었다.
산술 연산자 ( + , - , * , / )
Swift 의 오버플로우 연산자 (&+, &*, ...) 를 통해 동작 값을 선택할 수 있다.
덧셈 연산자는 string 연결을 지원한다.
1 + 2 // equals 3
5 - 3 // equals 2
2 * 3 // equals 6
10.0 / 2.5 // equals 4.0
"hello, " + "world" // equals "hello, world"
비교연산자 ( ==, != , === , !==, <= , ... )
let name = "world"
if name == "world" {
print("hello, world")
} else {
print("I'm sorry \(name), but I don't recognize you")
}
(1, "zebra") < (2, "apple") // true because 1 is less than 2
(3, "apple") < (3, "bird") // true because 3 is equal to 3, and "apple" is less than "bird"
(4, "dog") == (4, "dog") // true because 4 is equal to 4, and "dog" is equal to "dog"
삼항 조건 연산자
let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
Nil 결합 연산자 (Nil-Coalescing Operator)
nil 결합 연산자 ( a ?? b ) 는 옵셔널 a 에 값이 있으면
언래핑하고 a 가 nil 이면 기본값 b 를 반환한다.
아래 조건과 동일하다.
a != nil ? a! : b
표현식 a 는 항상 옵셔널 타입이다.
표현식 b 는 a 에 저장된 타입과 같아야한다.
let defaultColorName = "red"
var userDefinedColorName: String? // defaults to nil
var colorNameToUse = userDefinedColorName ?? defaultColorName //"red"
범위 연산자
폐쇄된 범위 연산자 ( ... )
for index in 1...5 {
print("\(index) times 5 is \(index * 5)")
}
반 개방 범위 연산자 ( ..< )
let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for i in 0..<count {
print("Person \(i + 1) is called \(names[i])")
}
'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] 기본사항 -2 (Optional, Error Handle) (0) | 2017.04.12 |
[Swift 3] 기본사항 -1 (상수, 변수, 자료형, Tuple) (0) | 2017.04.12 |
- Total
- Today
- Yesterday
- Arc
- applicationWillResignActive
- Swift 3.0
- Swift3
- NSManagedObjectContext
- Block
- thread
- ios
- docker
- RunLoop
- CGImage
- workerThread
- Swift 3
- 읽기 좋은 코드가 좋은 코드다
- delegate
- CIImage
- Swift
- EffectiveObjectiveC
- dictionary
- string
- UIView
- 꺼내먹어요
- Swfit
- optional
- coredata
- NSManagedObjectModel
- AWS
- HTTP
- NSManagedObject
- set
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |