objective-c - 我如何使用 PodioKit 和 PKTSearchAPI 在 Podio App 中进行搜索?

标签 objective-c swift podio

我正在尝试在 Podio 应用程序的所有项目中执行一个简单的查询。但我不明白如何访问搜索请求的结果。这是我拥有的:

    let query = PKTSearchQuery.init(text: "search term")
    let search = PKTSearchAPI.requestToSearchInAppWithID(1234567, query: query, offset: 0, limit: 30)

requestToSearchInAppWithID 创建一个 PKTRequest 对象,因此似乎需要通过 PKTResponse 对象返回一些内容。我知道 PodioKit 中的所有内容都是异步的,为 Objective-C 提供的 here 和为 Swift 提供的 here 示例清楚地说明了如何使用 onCompleteonSuccess 接收响应onError 完成 block ,但 PKTSearchAPI 似乎缺少完成 block 。

任何帮助将不胜感激。

最佳答案

您从文档中注意到的完成 block 可在任何 PKTAsyncTask

上访问

要在给定PKTRequest 对象的情况下检索PKTAsyncTask,您可以使用PKTClientperformRequest 方法。例如,以下代码片段将执行您的搜索请求,然后将结果打印到控制台:

let query = PKTSearchQuery.init(text: "search term")
let search = PKTSearchAPI.requestToSearchInAppWithID(1234567, query: query, offset: 0, limit: 30)

let searchTask = PKTClient.currentClient().performRequest(search)

searchTask.onComplete { [weak self] response, error in
  let body = response.body as! [String: AnyObject]
  let items = body["results"] as? [[NSObject:AnyObject]]

  for item in items! {
    print("Search result \(item["rank"]!) title: \(item["title"]!)")
  }
}

编辑:有关搜索响应中预期数据的更多信息,请参阅 Podio API Docs for Search

关于objective-c - 我如何使用 PodioKit 和 PKTSearchAPI 在 Podio App 中进行搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40578963/

相关文章:

objective-c - NSNotificationCenter : list of observers?

iphone - 如何在 AVPlayer 中播放完第一首歌曲后继续播放第二首歌曲

swift - 如何快速访问单元格内的 UIStackView 实例?

ios - 可重用 TableViewCell 中的辅助功能问题

Podio webhook 未经验证

objective-c - 通过 PodioKit API 将经度和纬度值放入 map 字段中?

ios - 为一个特定的单元格留出余量,UICollectionVIew

ios - 屏幕旋转后如何调用sizeForItemAtIndexPath方法

swift - 如何使用一个属性对多个文本字段中的数组进行排序

java - Podio Api :use java lib create space success, 但在我的跑道板页面中找不到新的文字空间