私は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. 1つのViewControllerから別のViewControllerにオブジェクトにアクセスする方法
- 5. SwiftのCollectionViewで最も多く表示されているセルにアクセスする方法はありますか?
- 6. CollectionView inside ViewController
- 7. SwiftのViewControllerからUIViewサブクラスインスタンスを取得する方法
- 8. imageViewから影を最小限に抑える方法TVOS Focus CollectionView Swift
- 9. CollectionView代理人から別のViewControllerにデータを渡します。
- 10. collectionviewでindexPathにアクセスする
- 11. (Swift)アクセス方法別のView ControllerからViewControllerのnavigationItemに何かを割り当てるか?
- 12. collectionviewからセクションをリロードする方法
- 13. Swift 4 - UITabBarControllerからViewControllerをプログラムで切り替える方法
- 14. SWIFT 3.0でのシングルトンクラスの作成方法
- 15. XIBからSwift 3.0のviewControllerにカスタムViewCellを取得する方法
- 16. シングルトンクラスで "self"を使ってインスタンスメソッドにアクセスする方法は?
- 17. UIViewサブクラスのアクセスViewControllerメソッドswift
- 18. ネストされた辞書から値にアクセスする方法:Swift
- 19. Swiftデバッガからオブジェクトネストされたプロパティにアクセスする方法
- 20. 1つのviewcontrollerから他のviewcontrollerに戻る方法
- 21. ボタンを使用して1つのViewControllerから別のViewControllerにナビゲートする方法。 Swift 3(No StoryBoard)
- 22. ViewControllerからdrawRectにアクセスしますか?
- 23. Swift- ViewControllerからUITabBarControllerページへ
- 24. appdelegateでviewcontrollerから関数を呼び出す方法は? (Swift)
- 25. ViewControllerをmodaly swiftに表示する方法4
- 26. シングルトンクラスをスレッドセーフにする方法は?
- 27. collectionview swiftのセルの位置を設定する方法は?
- 28. ViewControllerからタブバーのViewControllerにデータを渡す方法iOS?
- 29. SwiftのIndexed CollectionView
- 30. Swift 3 CollectionViewスケーリング
「プロトコル代理人」メソッドはどうでしたか? – Dravidian