2014-09-08 2 views
4

이것은 싱글 톤을 신속하게 구현하는 솔루션 중 하나입니다. 왜 '클래스'가 'var'앞에 추가되는지 혼란 스럽습니다. 지금까지 내가 아는 한, 클래스 변수는 swift에서 지원하지 않습니다. 왜 'class var'가이 경우에 작동합니까? 클래스 변수 아니다스위프트 (Swift) - '클래스 var'이 의미하는 것

class Singleton { 
    class var sharedInstance : Singleton { 
     struct Static { 
      static let instance : Singleton = Singleton() 
     } 
     return Static.instance 
    } 
} 
+0

클래스 변수는 계산 된 속성을 통해서만 Swift에서 지원됩니다. 프로퍼티에 대한 "getter"를 정의하는 코드 블록을 제거하려는 경우 컴파일 오류가 발생합니다. "클래스 변수는 아직 지원되지 않습니다" "https://developer.apple.com/library/prerelease/ios/documentation/ Swift/Conceptual/Swift_Programming_Language/Properties.html # // apple_ref/doc/uid/TP40014097-CH14-XID_374 –

답변

13

, 그것은 현재 지원되는 클래스 계산 재산입니다.

// Playground - noun: a place where people can play 

class A { 
    // Fine: 
    class var computed: String { 
     return "Woo" 
    } 
    // Not supported (yet): 
    class var realVariable: String = "Woo" 
} 
+1

+1 클래스 변수와 클래스 계산 된 속성의 차이점. –

+1

언어 표현의 매우 이상한 선택 인 것 같습니다. –

관련 문제