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

从 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
查看次数