ios - 搜索时在字符类型上创建 url 请求的好方法

标签 ios ios7 ios5 nsurlconnection nsurlrequest

我已经实现了一个 AutoSuggest API(类似于谷歌搜索)。
API 给出了在搜索栏中输入的字符的建议列表。
例如:在谷歌搜索上输入时,它会在搜索栏底部显示建议列表。

我们可以使用任何好的方法或设计模式在每个 char 类型上调用此 API。

当前的实现是:
1. 搜索栏上的字符类型
2. 创建一个 NSURLRequest 并将其传递给 NSURLConnection 对象
3. 解析响应并显示建议。
4. 再次char类型只是在生成请求并传递给NSURLConnection之前取消NSURLConnection。

我担心的是实现这一点的好方法是什么。

提前致谢。
问候,
鲁亚姆

最佳答案

你显然不能等到你得到回应。当你收到第一封信的回复时,我又输入了三个字母:-)

首先检查在输入一两个字母后给出任何选择是否有意义(您的决定)。然后做一些测量来检查取消之前的请求是否有意义。如果您一直取消建议,您可能永远不会收到任何建议。并且一旦一个 NSURLConnection 开始运行,取消它可能不会保存任何东西(一旦请求发送到服务器,服务器就会回复,唯一的区别是你是否忽略它)。

我会在每封信之后发送请求,避免在用户删除一个字符后两次发送相同的请求。当响应进入时,缓存它们,但仅在它们仍然相关时才处理它们(用户切换到另一个 View 后可能会出现回复!)所有请求显然必须在后台运行。可能会缓存最后十几个请求。并检查用户使用的是 WiFi 还是 3G,或者该 API 可能很昂贵。

关于ios - 搜索时在字符类型上创建 url 请求的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24515281/

相关文章:

iphone - 显示演示页面后在应用程序中购买

ios - 以编程方式创建 UIView 子类的实例

ios - 使用 aws-sdk-ios 设置 aws-lex 请求属性

ios - cocos2d 屏幕上没有添加排行榜

ios - 尝试从 Safari 启动应用程序时不断收到 "Open this page in YourAppName?"的警报 View 消息

objective-c - iOS 运行时未调用 SDCAlertView 回调 clickButtonAtIndex

iphone - 关于如何设置 Storyboard以使元素不重叠的建议

ios - 从文本字段中移除焦点

ios - 企业发行版“无法下载应用程序”在iPhone 4上但在iPhone5上有效

ios - 使用 MPMoviePlayerController 播放录制的视频时 iOS 7 中的 _itemFailedToPlayToEnd 问题