Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
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
Archives
Today
Total
관리 메뉴

Stacking Fire

Swift 4. 연산자 본문

개발/Objective-C -> Swift

Swift 4. 연산자

라우비 2017. 5. 24. 14:35
거의 비슷하지만, 유용하거나 잊을만한 것들만 정리합니다.

참조비교

A === B, A !== B등으로 비교. 스위프트의 유일한 참조 타입은 클래스의 인스턴스에서만 사용이 가능.

삼항 조건 연산자

Question? T : F 물음표 앞이 참이면 T, 아니면 F 반환.

범위 연산자

  • 폐쇄 범위 : A...B A와 B를 다 포함.
  • 반폐쇄 범위 : A..<B B를 포함하지 않음.

오버플로 연산자

  • &+, &-, &* : 오버플로에 대비하여 연산.

nil병합 연산자

  • A ?? B : A가 nil이면 B를 반환.

optional 관련

  • 옵셔널 강제 추출 연산자 object! : 옵셔널 객체의 값을 강제로 추출합니다. (즉 옵셔널이 아니라는 확신이 있을 때 쓴다.)
  • 옵셔널 연산자 value? : 옵셔널임을 표현합니다.

class나 struct에 대하여 중위 연산자 구현. 하이라이트!

  • 커스텀 클래스나 구조체에 대해 유용하게 쓰일 수 있는 '비교' 연산자를 구현해줄 수 있다!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Car {
    var modelYear: Date?
    var modelName: String?
    var registerNumber: Int?
}
    
struct SmartPhone {
    var modelName: String?
    var phoneNumber: Int?
}
    
//클래스나 구조체나 상관 없이 프로퍼티 중 비교할 것만 비교해서 반환이 가능.
func == (left: Car, right:Car) -> Bool {
    return left.registerNumber == right.registerNumber
}
    
func == (left: SmartPhone, right: SmartPhone) -> Bool {
    return left.phoneNumber == right.phoneNumber
}
cs


'개발 > Objective-C -> Swift' 카테고리의 다른 글

Swift 6. 함수  (0) 2017.06.16
Swift 5. 흐름 제어  (0) 2017.05.25
Swift 3. 이상한 스위프트 나라의 타입 이야기  (0) 2017.05.23
Swift 2. Data Types  (0) 2017.05.22
Swift 1. 기본적인 규칙  (0) 2017.05.18
Comments