我正在编写一个应用程序,我可以从服务器加载一些图像,然后我将放入我的模型然后启动主视图控制器,然后将我的图像从模型加载到集合视图。怎么做?
答案 0 :(得分:1)
您可以开始工作的第一种方法是
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/* start loading your images here,
cache them and let your viewcontroller reload */
return YES;
}
AppDelegate.m中的
答案 1 :(得分:1)
您需要注意执行此逻辑的时间和位置。当然,理论上你可以将获取代码放在:
中- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
但我真的不建议这样做。第一个原因是因为您可能希望等到图像加载完毕。您不应该在上述方法中执行网络呼叫,因为您不知道运行需要多长时间。 Apple建议您尽快从此方法返回YES。不这样做可能导致0x8badf00d崩溃 - “应用程序无法及时启动”。
我建议做的是创建一个“加载视图控制器”,它是应用程序启动后的根视图控制器。此视图控制器应启动图像加载,告诉用户发生了什么(使用微调器或类似的东西)并等待图像加载以将主视图控制器推入堆栈(或呈现它或其他)。您的图像将被保湿,您可以使用它们来填充您的收藏视图。
您的主视图控制器应该对这些图像有一些引用(从加载视图控制器传递它们或创建数据单例以检索它们)并使用UICollectionViewDataSource
和UICollectionViewDelegate
方法填充集合视图单元格(使用图像)。