小编Дми*_*аев的帖子

从 NSDictionary 获取 JSON 数据

我的 api 中有结构

{
    "Hall":"Hall",
    "Date":20180501,
    "Prices":[
        {
            "Time":1,
            "Price":4000
        },
        {
            "Time":2,
            "Price":4000
        },
        {
            "Time":3,
            "Price":4000
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

现在我卡住了,无法取出价格和时间。我知道有很多问题,但我还是不明白,请帮助。

我使用这个代码:

let url = URL(string: "http://<...>/api/prices?hall=<...>&date=20180501")

    var request = URLRequest(url: url!)

    request.httpMethod = "GET" 

    let task = URLSession.shared.dataTask(with: request, completionHandler: { (data, response, error) in

        if let err = error {
            print(err)
        } else {

            do {

                if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {

                    // ... 

                }

                DispatchQueue.main.async {
                    self.collectionView.reloadData()
                }

            } catch …
Run Code Online (Sandbox Code Playgroud)

xcode json nsdictionary ios swift

3
推荐指数
1
解决办法
1179
查看次数

按用户位置距 firebase 的距离对数组进行排序

无法弄清楚如何对用户附近的地址进行自动排序。我不明白从哪里开始以及如何编写代码。

\n\n

我的firebase中有地址。地址的类型为字符串(不是纬度/经度)。例子:

\n\n
"\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0, \xd0\xad\xd0\xbb\xd0\xb5\xd0\xba\xd1\x82\xd1\x80\xd0\xbe\xd0\xb7\xd0\xb0\xd0\xb2\xd0\xbe\xd0\xb4\xd1\x81\xd0\xba\xd0\xb0\xd1\x8f, 21"\n"\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0, \xd0\x90\xd1\x80\xd0\xb1\xd0\xb0\xd1\x82, \xd0\xa1\xd1\x82\xd0\xb0\xd1\x80\xd0\xbe\xd0\xba\xd0\xbe\xd0\xbd\xd1\x8e\xd1\x88\xd0\xb5\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb9 \xd0\xbf\xd0\xb5\xd1\x80\xd0\xb5\xd1\x83\xd0\xbb\xd0\xbe\xd0\xba, \xd0\xb4\xd0\xbe\xd0\xbc 43"\n"\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0, \xd1\x83\xd0\xbb\xd0\xb8\xd1\x86\xd0\xb0 1-\xd1\x8f \xd0\x91\xd1\x83\xd1\x85\xd0\xb2\xd0\xbe\xd1\x81\xd1\x82\xd0\xbe\xd0\xb2\xd0\xb0, \xd0\xb4\xd0\xbe\xd0\xbc 12/11, \xd0\xba\xd0\xbe\xd1\x80\xd0\xbf\xd1\x83\xd1\x81 53"\n
Run Code Online (Sandbox Code Playgroud)\n\n

我知道什么需要使用firebase 的查询,但是如何使用查询,我现在不明白。

\n\n

这是我的代码:

\n\n
class PhotoStudiosViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate {\n\n    @IBOutlet weak var tableView: UITableView!\n\n    var theStudios: [Studio] = []\n\n    var studiosRef: DatabaseReference!\n\n    override func viewWillAppear(_ animated: Bool) {\n        super.viewWillAppear(true)\n\n        tableView.estimatedRowHeight = 475\n        tableView.rowHeight = UITableViewAutomaticDimension\n\n        loadDataFromFirebase()\n\n    }\n\n    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n\n        return theStudios.count\n    }\n\n    func …
Run Code Online (Sandbox Code Playgroud)

userlocation ios firebase swift firebase-realtime-database

2
推荐指数
1
解决办法
2632
查看次数

获取firestore的几个ids文档

如何从firestore获取ids 文档?

现在我从后端获取了几个ids 文档,我需要在tableview中显示收到的 ids 文档。

在firestore我有这个ids:

xNlguCptKllobZ9XD5m1 uKDbeWxn9llz52WbWj37 82s6W3so0RAKPZFzGyl6 EF6jhVgDr52MhOILAAwf FXtsMKOTvlVhJjVCBFj8 JtThFuT4qoK4TWJGtr3n TL1fOBgIlX5C7qcSShGu UkZq3Uul5etclKepRjJF aGzLEsEGjNA9nwc4VudD dZp0qITGVlYUCFw0dS8C n0zizZzw7WTLpXxcZNC6

例如我的后端只找到这个ids:

JtThFuT4qoK4TWJGtr3n TL1fOBgIlX5C7qcSShGu UkZq3Uul5etclKepRjJF

或者

aGzLEsEGjNA9nwc4VudD dZp0qITGVlYUCFw0dS8C n0zizZzw7WTLpXxcZNC6

我只需要在tableview中显示这三个 id 。(但实际上后端返回了 100 多个 id,下面你可以看到对这些 id 的疯狂排序)

后端将此 ids 附加到临时数组中var tempIds: [String] = []

那么我如何才能从firestore获取这些 id 并在tableview中显示它们?

我使用这段代码:

fileprivate func query(ids: String) {
    Firestore.firestore().collection(...).document(ids).getDocument{ (document, error) in
        if let doc = …
Run Code Online (Sandbox Code Playgroud)

document ios firebase swift google-cloud-firestore

2
推荐指数
1
解决办法
6791
查看次数