2016-07-13 18 views
0

funcから情報を返すために補完ハンドラを使用しようとしています。関数はクラス内にあり、関数の呼び出しができるようにシングルトンを使用してクラスのインスタンスを作成できます。何らかの理由で、シングルトンを使用しているときにコンプリートハンドラにアクセスできます。Swift:完了ハンドラとシングルトン

load.class.function() 
+1

コードサンプルが抽象すぎます。どの補完ハンドラについて話していますか? – luk2302

+0

@ luk2302情報を返す必要のある別のクラスの関数があるので、補完ハンドラがあるので、関数が実行されると、必要な情報が返されます。この機能にアクセスするには、シングルトンがあります。しかし、私がシングルトンを通して関数を呼び出そうとすると、例えば、 'load.class.function()'のようになります。参照している関数が補完ハンドラを持っているので、Xcodeは補完ハンドラを自動的に言うはずです。申し訳ありませんが、それは少し混乱している場合、私はスイフトに新しいです。 –

+1

無関係ですが、プロパティやクラスの名前として 'class'や' Class'のような用語を避けることをお勧めします。また、 'load'は大文字にする必要があります。おそらく 'class SingletonManager {static 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) 
関連する問題