복붙노트

[SWIFT] 스위프트 - 재산에 사용자 정의 세터

SWIFT

스위프트 - 재산에 사용자 정의 세터

해결법


  1. 1.당신은 그 같은 설정을 사용할 수 없기 때문에 당신이 호출 할 때 self.document = NEWVALUE 그냥 다시 세터를 호출하고, 당신은 무한 루프를 만들었습니다.

    당신은 그 같은 설정을 사용할 수 없기 때문에 당신이 호출 할 때 self.document = NEWVALUE 그냥 다시 세터를 호출하고, 당신은 무한 루프를 만들었습니다.

    당신이 대신해야 할 일은 사실에 값을 저장하기 위해 별도의 속성을 만들 수 있습니다 :

    private var _document: UIDocument? = nil
    var document: UIDocument? {
        get {
            return self._document
        }
        set {
            self._document = newValue
            useDocument()
        }
    }
    

  2. 2.여기 스위프트 3 버전입니다

    여기 스위프트 3 버전입니다

    var document : UIDocument? {
        didSet {
            useDocument()
        }
    }
    
  3. from https://stackoverflow.com/questions/25828632/swift-custom-setter-on-property by cc-by-sa and MIT license