Ich habe eine ViewController-Klasse ViewController
mit CollectionView. Auch ich habe Singleton Klasse FacebookManager
zum Abrufen von Daten von Facebook.So rufen Sie Methode aus einer anderen Klasse in Swift
Was ich tun möchte, ist eine Methode in der Facebook-Klasse ausführen und dann eine Methode in ViewController aufrufen, um CollectionView neu zu laden.
Ich habe versucht, einen Verweis auf Viewcontroller in Facebook-Manager in Viewcontroller, indem
class FacebookManager {
static let sharedInstance = FacebookManager()
var vc:ViewController?
}
Dann Einstellung
class ViewController: {
func viewDidLoad() {
FacebookManager.sharedInstance.vc = self
}
}
Und dann in FacebookManager
func myMethod() {
vc.collectionView.reloadData()
}
Aber dieses doesn Aufruf zu machen arbeite nicht.
Wie wird das richtig gemacht?
Da 'FacebookManager' ein Singleton ist und von überall zugänglich ist, rufen Sie die Methode auf, um Daten vom Controller abzurufen, der die Sammlungsansicht enthält. – vadian
Ja, aber wie kann man dann ViewController von FacebookManager zurückrufen? –
Verwenden Sie Delegate-Methoden oder Abschlussblöcke. – vadian