请在Flutter中如何获取 class iBeaconListVC: UIViewController, CLLocationManagerDelegate {
let lm = CLLocationManager()
var beaconsArray = [CLBeacon]()
let uuid1 = UUID(uuidString: "FDA50693-A4E2-4FB1-AFCF-C6EB07647825")
let uuid2 = UUID(uuidString: "AB8190D5-D11E-4941-ACC4-42F30510B408")
var beaconRegion1: CLBeaconRegion!
var beaconRegion2: CLBeaconRegion!
@IBOutlet weak var baconsListTV: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
lm.requestAlwaysAuthorization()
lm.delegate = self
let beaconRegion1 = CLBeaconRegion(proximityUUID: uuid1!, identifier: "beacon1")
let beaconRegion2 = CLBeaconRegion(proximityUUID: uuid2!, identifier: "beacon2")
lm.startRangingBeacons(in: beaconRegion1)
lm.startRangingBeacons(in: beaconRegion2)
}
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
self.beaconsArray.removeAll()
if beacons.count > 0 {
beaconsArray.append(contentsOf: beacons)
for beacon in beacons {
print("info=\(beacon.proximityUUID.uuidString)major=\(beacon.major) minor=\(beacon.minor) accuracy=\(beacon.accuracy) rssi=\(beacon.rssi)")
self.baconsListTV.reloadData()
}
}
}
}
extension iBeaconListVC: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return beaconsArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let beacon = beaconsArray[indexPath.row]
let cell = self.baconsListTV.dequeueReusableCell(withIdentifier: "beaconsCell") as! BeaconsCell
cell.IDLabel.text = "UUID: " + String(beacon.proximityUUID.uuidString)
cell.detailLabel.text = "Details: Major = " + String(beacon.major.intValue) + " Minor = " + String(beacon.minor.intValue) + " Distance: " + String(beacon.proximity.rawValue)
cell.infoLabel.text = "RSSI: " + String(beacon.rssi)
return cell
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
}
子集合的所有值。
答案 0 :(得分:0)
首先,您必须获得对父文档的引用:
DocumentReference parentRef = Firestore.intances.collection('TaxData').document(taxDataId);
您可以通过直接引用文档(如上面的代码)或查询来完成上一部分。以后,您必须获取子集合的引用以及获得该信息的文档:
DocumentReference subRef = parentRef.collection('IndividualTaxData').document(individualTaxId);
最后,获取数据:
DocumentSnapshot docSnap = await subRef.get();
答案 1 :(得分:0)
要返回简单文档,可以使用以下代码。
var document = await Firestore.instance.collection('IndividualTaxData').document('<document_name>');
document.get() => then(function(document) {
print(document('character'));
// you can print other fields from your document
}
使用上述代码,您将引用集合IndividualTaxData
,然后将其数据加载到可以打印值的变量中。
如果要从集合中检索所有文档,可以开始使用以下代码。
final QuerySnapshot result = await Firestore.instance.collection('IndividualTaxData').getDocuments();
final List<DocumentSnapshot> documents = result.documents;
documents.forEach((data) => print(data));
// This print is just an example of it.
这样,您会将所有文档加载到列表中,然后进行迭代并打印-或可以与其他方法一起使用。
除此之外,作为以后的参考,我建议您也检查以下链接。
让我知道信息是否对您有所帮助!