ios - Xcode 在 View 可见后加载缓慢的东西

标签 ios objective-c iphone xcode loading

我有一个非常烦人的问题。我有一个带有 UIImageView 的 ViewController。 UIImageView 应该显示幻灯片。的图像来自 NSURL,因此需要一些时间。

- (void)viewDidLoad { [ super viewDidLoad]; [自加载图片]; }

这就是我从 NSURL 获取图像的方式。我遇到的问题是,在加载图像时我只看到黑屏。 在 -(void)loadImages 方法的开头和结尾,我实现了一个 UIActivityIndi​​cator 来显示加载时间。 我已经尝试过 -(void)viewWillAppear-(void)viewDidLayoutSubviews 但没有任何效果。

感谢帮助 珍妮丝

最佳答案

您需要做的是异步加载您的图像并在它们进入时填充它们(使用委托(delegate)或 block 回调,具体取决于您使用的 API)。您绝对永远不要在主线程上同步运行网络代码或任何其他可能长时间运行的操作。原因是 UI 在主线程上运行,如果您用自己的操作阻塞它,UI 将无法更新,您的应用将变得无响应。

无论您使用的是 Apple 的网络框架还是 AFNetworking(强烈推荐)之类的东西,都有很多方法可以用最少的工作异步进行网络连接。

关于ios - Xcode 在 View 可见后加载缓慢的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25633214/

相关文章:

ios - 在 TableView 中找不到 UIWebView

ios - 设置一些气泡的最小宽度

ios - 在 Swift 4 的 systemDouble 值中查找 nil

ios - 应用程序崩溃,因为 "It appears that ' PubNub' 不是有效的 Fabric Kit”

python - 使用 Flask 提供 .mp4 文件并在 Objective-C 应用程序上播放会导致管道损坏且无法播放

objective-c - 在 Objective-C 中,如何使用 object_setIvar 设置原始值?

iphone - 播放png动画时出现延迟

iphone - 如果 NSDictionary 适用于成对值,那么什么适用于三重值?

iphone - 适用于 iOS < 5.0 的 UINavigationBar 上的自定义图像

iphone - 重用 nsdateformatter 将日期显示为字符串