私はいつでもcollectionviewを更新する必要があります。locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion)
はサイクルを実行するので、beacons
の変数をcollectionviewに渡すと思いますグローバル変数を使用せずに。事前locationmanager(.. didrangbeacons)からcollectionview(... cellrangitacat)にデータを渡します
答えて
で
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
if !beacons.isEmpty {
//do things
}
else{
//do other things
}
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath) as! buttonBeaconsView
//i want to use beacons data here
//cell.backgroundColor = UIColor(white: 1, alpha: 0.8)
//cell.createButton()
//cell.layer.masksToBounds = true
return cell
}
おかげで、あなたのビューコントローラは、ロケーションマネージャの代理人として機能してください: ここではコードです。ビューコントローラに対してlocationManager(_:didRangeBeacons:in:)
への呼び出しが行われます。その後、ビーコン情報の新しいリストを保持し、その内容を更新するようにコレクションビューに指示する変数(グローバル変数ではない)INSTANCEを更新することができます。
、おかげで、明日私はしようとします –
私は解決した、ありがとう!もう少し小さな質問があります:コレクションビューでは、ビーコン[i]のデータがあればビーコン[i]からi要素だけを取り出したいのですが、どうすればいいですか?私はビーコン[i]から単一の要素を取るためにindexPath.rowを使うべきですか? –
indexPath.rowを使用して解決されました。 –
- 1. CollectionviewからUIcollectionResuableviewにデータを渡します。
- 2. CollectionView代理人から別のViewControllerにデータを渡します。
- 3. appDelegateのlocationManagerからviewControllerに座標を渡します。
- 4. collectionView(numberOfItemsInSection)関数(Swift)にデータを渡す
- 5. すべてのTableViewCellからSwift3のCollectionViewにデータを渡す方法
- 6. 不一致のlocationManagerは、Iphoneでデータを移動しました
- 7. indexPathに2つの異なるセルを指定してcollectionViewからindexPathを渡します。
- 8. リクエストモジュールからのデータを関数から渡しますか?
- 9. グリッドビューからデータを渡す
- 10. ViewControllerからデータを渡す
- 11. Androidユーザーからデータを取得し、複数のアクティビティにデータを渡します
- 12. データをストアに渡しますか?
- 13. カスタムNSObjectにデータを渡しますか?
- 14. swingWorkerにデータを渡しますか?
- 15. コントローラからリダイレクトしてデータを渡す
- 16. は、サイトにアンドロイドからデータを渡します
- 17. Xamarin Androidがクラスからアクティビティにデータを渡しています
- 18. MVC3は、jqueryモーダルダイアログからロードイベントでコントロールにデータを渡します。
- 19. コントローラからタイプsymfony2にデータを渡します
- 20. AngularJSはコントローラから別のコントローラにデータを渡します
- 21. uitableviewからマップビューに位置データを渡します
- 22. Androidはフラグメントからダイアログフラグメントにデータを渡します
- 23. チェックボックスのデータをフォームからmysqlデータベースに渡します
- 24. FireViewのデータをTableViewCellからViewControllerに渡します。
- 25. Objective-c:prepareForSegueでUITableからViewControllerにデータを渡します。
- 26. アンマネージドコード(C)からマネージコード(C#)にデータを渡します。
- 27. JSONデータをテンプレートからdjangoビューに渡します。
- 28. ポップアップから親にデータを渡します
- 29. settings.gradleからbuild.gradleにデータを渡します
- 30. 工場から角度コントローラにデータを渡します
ロケーションマネージャは別のクラスまたは同じビューコントローラにありますか? – user1046037
同じviewController –
同じView Controllerの場合は、View Controllerでプロパティを作成して設定できます。しかし、それは別のクラスでそれを維持し、ダンカンの答えに従うことがきれいです – user1046037