我如何从网络中提取JSON来为对象提供数据而不会崩溃



我正在使用afnetworking从我的rest api抓取JSON数据。从JSON数据我创建UIViewControllers基于多少项在数组中。例如,如果我的JSON数据有3个项目,那么3个uiviewcontroller被创建并添加为我正在创建的滑块对象的子视图。

问题是由于数据从afnetworking完成加载分别从我的主线程,程序崩溃,因为没有数据要创建我的UIViewControllers。

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -   [__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array'.

如何解决这个问题?我读到我可以使用[operation waitUntilFinished]来停止主线程的运行,直到所有的数据都被我的服务器加载,但人们建议不要这样做。

你肯定不想阻塞主线程。这是坏的;这会让你的应用看起来像是被冻结了。

听起来你想要一个"加载"屏幕。这样,您就可以在数据准备好时发布通知之类的操作。然后你的加载屏幕的视图控制器会观察到这个通知,然后在它进来的时候呈现剩下的数据。

相关内容

  • 没有找到相关文章

最新更新