在设备上显示图像时出现问题
Posted
技术标签:
【中文标题】在设备上显示图像时出现问题【英文标题】:Trouble Displaying Images On Device 【发布时间】:2013-02-17 03:36:27 【问题描述】:我正在开发我的第一个 ios 应用程序。该应用程序通过 php 网页从数据库下载并显示数据。这一切都很好。我还从同一个 Web 服务器抓取图像以显示在 UIImageView 中。这一切都在模拟器上运行良好。
在我的测试设备(3GS)上,一切正常,除了我无法将下载的图像显示在我的 UIImageView 中。
如果没有互联网连接,我可以在模拟器和设备上显示我包含在应用程序包中的备用图像。
// Inside My data class Implementation
- (void)setUpTheData
--- other code ---
NSURL *myImageURL = [NSURL URLWithString:myImageURLString];
NSData *myImageRawData = [NSData dataWithContentsOfURL:myImageURL];
self.myImageData = myImageRawData;
- (NSData*)getTheImageData
return _myImageData;
// Inside my viewDidLoad
UIImage *theImage = [UIImage imageWithData:[theRemoteData getTheImageData]];
_testImage.image = theImage;
我对比了模拟器和设备的图像数据,它们是相同的。
【问题讨论】:
【参考方案1】:试试用 viewDidAppear 代替 viewDidLoad 吧?
【讨论】:
还要仔细检查任何后台进程代码,因为 UI 更新需要在主线程上进行。有什么异步返回可能导致这种情况的吗?不确定这与它有什么关系,但是当我遇到像这样莫名其妙的奇怪事情时,我发现它通常与线程或同步性有关。 谢谢蒙特。你的第一个建议没有奏效。回到绘图板。我会考虑你的其他建议。【参考方案2】:我在数据类的 imageData 属性中设置了一个弱指针。更改为 strong 解决了我的问题。
【讨论】:
以上是关于在设备上显示图像时出现问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 Laravel 文件管理器显示图像时出现问题。路线问题