ios - 从服务器快速加载数据iOS

标签 ios objective-c json

我在一个购物应用程序上工作,在其中我使用Web服务来获取数据(例如产品列表等)。但是加载时间太长,因此我的应用程序真的很慢。

有什么解决办法吗?

以下是我尝试获取产品列表的代码。

NSURL * Url=[NSURL URLWithString:@"URL/api/product"]; 
NSData * Data=[NSData dataWithContentsOfURL:Url];
NSString *str=[[NSString alloc]initWithData:Data encoding:NSUTF8StringEncoding];
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:[strinng dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:nil]; 

无法放置JSON响应,因为它太多了。

最佳答案

没有RIGHTWRONG方式。但是对于快速数据加载,我们可以考虑一些要点。我可以提到这些要点,还有很多其他要点:

  • 使用AFNetworking(用于 objective-c )或Alamofire(用于swift)来调用Web服务并获得响应。
  • 不要在viewDidLoad中做太多事情。尽量减少操作。
  • 您可以使用viewDidLoadviewWillAppear调用Web服务(每次访问屏幕都会调用该服务)
  • 获取响应后,在主线程上更新UI。请参阅this帖子。
  • 如果要显示URL的图像,请异步加载它。您可以使用像SDWebImage这样的第三方库,或者使用AFNetworkingAlamofire
  • 中提供的扩展名
  • 如果要显示列表中的产品列表,请使用Load More功能。为此,您的API应该足够聪明,可以使用pagination实现。
  • 使用UITableViewUICollectionView显示可重复使用的组件。

  • 到现在为止,我可以强调这些要点。如果发现其他问题,我将更新答案。

    关于ios - 从服务器快速加载数据iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41460139/

    相关文章:

    ios - 属性越少,核心数据性能是否越好?

    ios - UITableview 从上一个 View 返回时更改 Y 位置

    javascript - MYSQL Count As, Group By, JSON 等效

    objective-c - iPhone 方向——如何确定哪边朝上?

    java - Jackson 对象映射器在响应中包含转义序列

    javascript - 削减 JSON 对象以声明方式发送到 Typescript 中的客户端?

    ios - Fitbit 和 OAuth 2.0

    iphone - iPhone 中带有两个按钮的 UIAlertView

    ios - 并行运行 ios 的 appium 脚本

    iOS FCM 通知从 Google 控制台工作,但不是从服务器工作