2017-12-21 34 views
1

싱글 톤 클래스에 구조체가 있는데 다른 클래스의 값을 설정하려고합니다. 나는 싱글 톤 클래스에서 다른 변수를 설정하는 것처럼 설정을 시도하지만 난클래스 외부의 구조 값을 설정하는 방법?

내가 시도 ""오류 SharingManager "정적 멤버는 'bigStruct가'형의 인스턴스를 사용할 수 없습니다"를 얻을 -

let sm = SharingManager.sharedInstance 

sm.bigStruct //Autocomplete doesn't work and i get an error 

내가 싱글 톤 클래스에 라인 (15)를 추가 할 때 내가 는 "속성에 할당 할 수 없습니다 : 함수가 불변 값 호출"오류 얻을 수 있기 때문에 다음, 나는 그것을 설정할 수 없습니다 바로는 (를 내가 undertab이 mens th 가)

sm.bigStruct.smallStruct.init().name = "my name" 

싱글 톤 클래스를 볼하지만 설정하지 수 있도록이 구조체의 복사본을 만듭니다에서 -

class SharingManager { 
    struct bigStruct {    
    struct smallStruct { 
     var name = String()  
    }  
    } 
    static let sharedInstance = SharingManager() 
    var big = bigStruct.self  
} 

내 싱글 톤 클래스는 일반 변수에 대해 잘 작동하지만 난 찾을 수 없습니다 싱글 톤 클래스에서 구조체를 설정하는 법.

답변

0

이 작동합니다 : bigStruct/smallStruct 인스턴스의 속성이나 기능을하지 않기 때문에

var big = SharingManager.bigStruct() 
var small = SharingManager.bigStruct.smallStruct() 
small.name = "I am a smallStruct" 

은 작동하지 않을 수 있습니다 다음

SharingManager.sharedInstance.bigStruct이

SharingManager.sharedInstance.bigStruct.smallStruct.init(). name = "my name"