2016-07-13 1 views
0

완료 핸들러를 사용하여 func에서 정보를 반환하려고합니다. 이 함수는 클래스에 있으며 함수를 호출 할 수 있도록 클래스의 인스턴스를 만들 수 있도록 싱글 톤을 사용합니다. 어떤 이유로 싱글 톤을 사용할 때 completionhandler에 액세스 할 수 있습니다.Swift : 완료 핸들러 및 싱글 톤

load.class.function() 
+1

코드 샘플이 너무 추상적입니다. 어떤 완성 처리기에 대해 이야기하고 있습니까? – luk2302

+0

@ luk2302 정보를 반환해야하는 다른 클래스의 함수가 있으므로 완료 핸들러가 있으므로 함수가 실행될 때 필요한 정보가 반환됩니다. 함수에 액세스하려면 싱글 톤을가집니다. 하지만 싱글 톤을 통해 함수를 호출하려고하면 'load.class.function()'과 같이됩니다. 참조하고있는 함수가 완성 핸들러를 가지고 있기 때문에 Xcode는 완료 핸들러를 자동으로 말합니다. 죄송합니다. 조금 혼란 스럽다면 스위프트를 처음 사용합니다. –

+1

관련이 없지만 속성이나 클래스 이름에'class' 및'Class'와 같은 용어는 사용하지 않는 것이 좋습니다. 또한 '로드'는 대문자이어야합니다. 아마도'class let 'sharedObjectA = ObjectA() ...}'또는 이와 비슷한 것일 수 있습니다 ... – Rob

답변

0

class는 (! 이것이 호출하지 마십시오)는 load (! 그것을 게다가이 부르지 마) 클래스 내에서만 액세스 할 수 방법 및 스위프트

class Singleton { 
    static let sharedInstance = Singleton() 
    private init() { } 

    func retrieveTheAnswer(completion: (answer:Int) ->()) { 
     completion(answer: 42) 
    } 
} 

에 완료 핸들러와 함께이 당신이 그것을 사용하는 방법입니다

Singleton.sharedInstance.retrieveTheAnswer { (answer) in 
    print(answer) 
} 
3

이 당신이 Singleton를 정의하는 방법은 다음과 같습니다

class load { 
    static let class = Class() 
} 

load.class.function(//The completion handler should appear here but doesn't)