【问题标题】:Does a parse.com geoPointForCurrentLocationInBackground count as an API requestparse.com geoPointForCurrentLocationInBackground 是否算作 API 请求
【发布时间】:2015-02-03 02:24:13
【问题描述】:

有谁知道 PFGeoPoint.geoPointForCurrentLocationInBackground 的实现是否算作解析时的 API 请求,即它是否计入我每秒 30 个请求的限制?看到通过CLLocationManager 查找 iPhone 的位置不使用任何网络请求,我想它不会。

【问题讨论】:

  • 不,它不是,它只是 CLLocationManager 的一个包装器..

标签: ios objective-c swift parse-platform


【解决方案1】:

几乎您使用 Parse 执行的任何操作都将计入您的 API 请求限制。看看他们作为一个企业是什么,他们从 API 请求中收集收入。所以很明显,你为他们做得越多越好。如果您查看他们对构成 API 请求的定义,您会看到一个非常模糊但明确的答案。 see here具体是第一个问题,供参考。

只要您使用 Parse SDK 或 REST API 之一代表您的应用对 Parse 进行网络调用,它就会被视为 API 请求。

所以看看你的代码,你在后台调用了一些东西,所以是的,如果你从 Parse 中获取它,你会但是在这种情况下它正在使用你在中提到的设备位置你的问题。 CLLocationManager 委托传递新坐标,所有 geoPointForCurrentLocationInBackground 所做的就是封装它。 此外,为了回答您的评论,查询也属于此范围。

假设您的所有任务都在使用 API 请求,这是一个稳妥的选择,这将形成更好的编码习惯和更智能的结构大纲。

我相信唯一没有对您使用的是缓存信息,这是有道理的,因为您最初已经通过初始查询检索了信息,因此无需使用另一个 API 请求来获取与缓存相同的数据.

旁注:这甚至适用于新的本地数据存储,即使它在技术上不在线,它也会更新您进行本地数据存储查询/保存的后端。


参考https://parse.com/docs/ios/api/Classes/PFGeoPoint.html#//api/name/geoPointForCurrentLocationInBackground

【讨论】:

  • 感谢您的回答,我仍然不确定 geoPointForCurrentLocation 是否会计入我的请求。它实际上并没有更新 parse.com 上的任何内容,并且当我实现此代码时,我的 iPhone 似乎没有在状态栏中显示网络活动指示器。我要做的是设置一个视图控制器,发送大量 geoPointForCurrentLocation 请求,看看它们是否出现在我的解析分析中
  • @TimWhiting 不,这不算数,因为它没有像我的回答中所说的那样对 Parse 进行网络调用。我只是不想让你迷失在 Miabs 的回答中,他们说只有 save 和 saveinbackground 对你不利。
  • 对不起,我不完全理解您对最初问题的结论是什么,因此进行了编辑。我在解析文档的链接上找不到任何内容,说明它是否会进行网络调用,这就是我提供答案的原因。是的,Miabs 的回答具有误导性,我一直都知道查询会被归类为请求。
  • 是的,我很抱歉@TimWhiting 我只是想传达的是,最好的情况是您假设它对您不利,即使它没有。这会导致您以更有条理的方法处理任务,请查看 PFQueryTableViewController。所有任务都通过对表的一次查询来处理,而不是您自己为相同的结果执行大量不同的查询。
【解决方案2】:

我通过将以下代码放入没有其他解析 api 请求的视图控制器中对此进行了测试

PFGeoPoint.geoPointForCurrentLocationInBackground { (g: PFGeoPoint!, e: NSError!) -> Void in
        PFGeoPoint.geoPointForCurrentLocationInBackground { (g: PFGeoPoint!, e: NSError!) -> Void in
            PFGeoPoint.geoPointForCurrentLocationInBackground { (g: PFGeoPoint!, e: NSError!) -> Void in
                PFGeoPoint.geoPointForCurrentLocationInBackground { (g: PFGeoPoint!, e: NSError!) -> Void in
                    PFGeoPoint.geoPointForCurrentLocationInBackground { (g: PFGeoPoint!, e: NSError!) -> Void in
                        PFGeoPoint.geoPointForCurrentLocationInBackground { (g: PFGeoPoint!, e: NSError!) -> Void in
                            PFGeoPoint.geoPointForCurrentLocationInBackground { (g: PFGeoPoint!, e: NSError!) -> Void in
                                println(g)
                            }
                        }
                    }
                }
            }
        }
    }

此应用的分析页面上的性能选项卡上没有任何内容,因此我建议这是一个“免费”API。我已经给他们发了一封电子邮件确认

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多