Ios UIImageView显示从HTTP下载的图像,但赢得';t显示图像资源

Ios UIImageView显示从HTTP下载的图像,但赢得';t显示图像资源,ios,objective-c,uiimageview,uiimage,Ios,Objective C,Uiimageview,Uiimage,在用户登录后的第一个视图控制器中,快速检查用户是否已将自定义图像上载到其帐户。(如果他有,在用户的个人资料数据中有一个URL。) 这些图像在我的代码中被正确下载,它们显示得非常漂亮。当没有自定义用户图像,并且VC尝试将相同的UIImageView设置为默认图片(在xcassets中)时,就会出现问题。据我所知,图片正在加载到包中,它是一个有效的PNG文件 下面是设置图像的代码段。如果没有找到自定义URL,我将URL参数字符串设置为“nil” 这件事快把我逼疯了,所以欢迎所有奇怪的想法。:-) 让

在用户登录后的第一个视图控制器中,快速检查用户是否已将自定义图像上载到其帐户。(如果他有,在用户的个人资料数据中有一个URL。)

这些图像在我的代码中被正确下载,它们显示得非常漂亮。当没有自定义用户图像,并且VC尝试将相同的UIImageView设置为默认图片(在xcassets中)时,就会出现问题。据我所知,图片正在加载到包中,它是一个有效的PNG文件

下面是设置图像的代码段。如果没有找到自定义URL,我将URL参数字符串设置为“nil”

这件事快把我逼疯了,所以欢迎所有奇怪的想法。:-)


让我知道,如果你想让我张贴任何其他部分的代码,你认为可能是一个因素

看来调试需要解决问题。但是为什么不使用任何图像下载/缓存库,比如?
这将是非常高效和方便的

看起来调试需要解决这个问题。但是为什么不使用任何图像下载/缓存库,比如?
这将是非常高效和方便的

您是否设置了断点并在调试中逐步完成?如果是这样,流是否在
If(Url.length>4)
处实际失败,并进入
else
?如果是,是否从
[UIImage ImageName:@“DefaultPicture”]获取有效图像?找出哪个问题的答案是“否”,你就应该找到解决方案。@DonMag标准的调试演练是成功的。事实证明,Url.length总是大于4,因为数据库有时会在用户配置文件中放入一些“额外垃圾”。在代码中考虑到这一点,修复了问题。您是否设置了断点并在调试中逐步完成?如果是这样,流是否在
If(Url.length>4)
处实际失败,并进入
else
?如果是,是否从
[UIImage ImageName:@“DefaultPicture”]获取有效图像?找出哪个问题的答案是“否”,你就应该找到解决方案。@DonMag标准的调试演练是成功的。事实证明,Url.length总是大于4,因为数据库有时会在用户配置文件中放入一些“额外垃圾”。在代码中考虑到这一点,修复了这个问题。这是一个好主意,但它没有解决为什么默认图像不出现的问题。(但我可能会在未来的版本中添加一些类似的优化:这只是该应用程序目前计划的第一个版本。)这是一个好主意,但它没有说明为什么默认图像不会出现。(但我可能会在未来的版本中添加一些类似的优化:这只是该应用程序目前计划的第一个版本。)
-(void) setImageWithUrl: (NSString *) Url Imageview: (UIImageView *) image {

if (Url.length > 4) {
    NSURL *url = [NSURL URLWithString:Url];

    NSData *data = [NSData dataWithContentsOfURL:url];
    UIImage *Profileimage = [UIImage imageWithData:data];

    [image setImage:Profileimage];
}
else {
    UIImage *Profileimage = [UIImage imageNamed:@"DefaultPicture"];

    [image setImage:Profileimage];
}
}