꿀똥벌레
꿀똥벌레 개발 블로그
꿀똥벌레
전체 방문자
오늘
어제
  • 분류 전체보기 (90)
    • JAVA (17)
    • SPRING (14)
    • Elasticsearch (4)
    • GRADLE (2)
    • HTML, CSS (0)
    • JAVASCRIPT (0)
    • GIT (1)
    • Vue.js (1)
    • server (1)
    • Python (0)
    • IT리뷰 (0)
    • 인프라 (6)
    • IOS (21)
    • 디자인패턴 (20)
    • Kafka (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • java
  • 스프링 인테그레이션
  • spring integration
  • Index Template
  • 엘라스틱서치
  • maxConnPerRoute
  • persistence connection
  • mappings
  • 인덱스 템플릿
  • elasticsearch
  • Index
  • 스프링 인티그레이션
  • KEEPALIVE
  • springintegration
  • ES
  • spring
  • persistent connection
  • SWIFT
  • connectionRequestTimeout
  • maxConnTotal

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
꿀똥벌레

꿀똥벌레 개발 블로그

IOS

스위프트 프로퍼티

2022. 10. 4. 10:16

Getter Setter

class Person {
    //set 은 private 으로 선언되어 외부에서는 get 만 가능하다.
    public private(set) var name: String

    init(name: String) {
        self.name = name
    }
}

var jake = Person(name: "jake")
print(jake.name) // jake
jake.name = "wiki" // private set 이므로 에러 발생

Computed Property

class Test {
    private var _myProperty: Int
    var myProperty: Int {
        get {
            return _myProperty
        }
        set {
            return _myProperty = newValue
        }
    }

        //getter 만 선언할 경우 get 키워드 생략 가능
        var hexCode: String? {
        if let hex = self.hexString {
            return "0x" + hex
        }
        return nil
    }
}

struct Point {
    var x: Int = 0
    var y: Int = 0

    var oppositePoint: Point {
        get {
            return Point(x: -x, y: -y)
        }
        set(value) {
            x = -value.x
            y = -value.y
        }
    }
}

var test: Point = Point(x: 1, y: 2)
print(test) //Point(x: 1, y: 2)
test.oppositePoint = Point(x: -3, y: -4)
print(test) //Point(x: 3, y: 4)

didSet, willSet

프로퍼티 변경 직전, 변경 직후의 이벤트를 감지하여 실행된다.

var property: Int = 10 {
    willSet(newValue) {
        //property 값이 변경 되기 직전에 호출, newValue 로 새로 초기화 되어질 값이 들어온다.
    }
    didset(oldValue) {
        //property 값이 변경 된 직후 호출, oldValue 에 이전 값이 들어온다
    }
}

'IOS' 카테고리의 다른 글

스위프트 Attributes  (0) 2022.10.04
스위프트 Generic  (0) 2022.10.04
스위프트 Property Wrapper  (0) 2022.10.04
스위프트 키워드  (0) 2022.10.04
스위프트 Optional  (0) 2022.10.04
    꿀똥벌레
    꿀똥벌레
    개발자 꿀똥벌레 입니다.

    티스토리툴바