私はiOS初心者です。私はJSONデータを解析しているシングルトンクラスを持っています。最後に、データを解析した後、ViewControllerに接続されているので、私はCollectionViewをリロードできません。 SingletonクラスからViewControllerクラスのCollectionViewにアクセスするには、どうすればCollectionViewをリロードすることができますか?Swift:シングルトンクラスからViewControllerにあるCollectionViewにアクセスする方法
答えて
解決策の1つは、データ処理が完了したときに完了クロージャを使用してコールバックを取得することです。
//Singelton
func loadData(onCompletion completion:() ->()) {
//load data
completion()
}
//ViewController
singeltonInstance.loadData {
//reload collectionView
//collectionView.reloadData()
}
追加情報:あなたがバックグラウンドスレッドでデータをロードしている場合は、メインスレッド上で完了クロージャを呼び出す必要があります。
//Singelton
func loadData(onCompletion completion:() ->()) {
//load data
dispatch_async(dispatch_get_main_queue(),{
completion()
})
}
私はあなたの最初の解決策を試してみました。この方法で、私はコンソールにデータを印刷することができましたが、データはcollectionViewに印刷されませんでした。 –
また、メインスレッドで完了クロージャを呼び出そうとしましたか? (追加情報を参照してください) – riik
あなたはインスタンス変数 'arrSurvey'にデータを決して割り当てないようです。 collectionViewをリロードする直前に、 'arrSurvey = JSON.arrSurvey'のようなコールバックブロックのシネルルトンからデータ配列を割り当ててみてください。お役に立てれば。 – riik
- 1. viewControllerからアクセスする方法Swift 3の別のviewController
- 2. 他のViewControllerからMapViewインスタンスにアクセスするには? (MapBox、Swift)
- 3. CollectionViewでセルイメージを選択してViewControllerに分割する方法
- 4. SwiftのCollectionViewで最も多く表示されているセルにアクセスする方法はありますか?
- 5. 1つのViewControllerから別のViewControllerにオブジェクトにアクセスする方法
- 6. CollectionView inside ViewController
- 7. imageViewから影を最小限に抑える方法TVOS Focus CollectionView Swift
- 8. CollectionView代理人から別のViewControllerにデータを渡します。
- 9. collectionviewからセクションをリロードする方法
- 10. (Swift)アクセス方法別のView ControllerからViewControllerのnavigationItemに何かを割り当てるか?
- 11. XIBからSwift 3.0のviewControllerにカスタムViewCellを取得する方法
- 12. シングルトンクラスで "self"を使ってインスタンスメソッドにアクセスする方法は?
- 13. ネストされた辞書から値にアクセスする方法:Swift
- 14. 1つのviewcontrollerから他のviewcontrollerに戻る方法
- 15. ViewControllerからdrawRectにアクセスしますか?
- 16. collectionview swiftのセルの位置を設定する方法は?
- 17. Swift 3 CollectionViewスケーリング
- 18. SwiftのIndexed CollectionView
- 19. シングルトンクラスをスレッドセーフにする方法は?
- 20. SwiftのGoogleマップのinfowindowから新しいViewControllerにアクセスするにはどうすればよいですか?
- 21. Swift 3.0でボタンを使用して、ViewControllerから別のViewControllerに値を渡す方法
- 22. サブビューでViewControllerからデータにアクセスするには?
- 23. 別のViewController(コアデータ)から 'エンティティ'にアクセス
- 24. 他のviewControllerからUserDefaultsにアクセス
- 25. TableViewCellのアクションからViewControllerにアクセス
- 26. Swift CollectionView垂直ページング
- 27. SwiftでViewControllerを無効にする
- 28. SwiftでViewControllerを停止するには?
- 29. SwiftのSKSpriteNodeのようなプロパティにアクセスする方法はありますか?
- 30. 別のviewcontrollerでメソッドにアクセスする方法
「プロトコル代理人」メソッドはどうでしたか? – Dravidian