【问题标题】:UIImageView image not returning nil but image not showingUIImageView 图像未返回 nil 但图像未显示
【发布时间】:2023-04-05 03:19:01
【问题描述】:

我有一个图像视图,它从互联网上提取 url 这是我从 RSS 源获得的 url - 它是从 rss 提要.xml 提取的图像,这是我用来获取图像的代码。

- (void)viewDidLoad {
    [super viewDidLoad];

    NSURL *URL = [NSURL URLWithString:@"www.something.com/rss/hi.xml"];
    NSData *data = [NSData dataWithContentsOfURL:URL];

    // Assuming data is in UTF8.
    NSString *string = [NSString stringWithUTF8String:[data bytes]];




    NSString *webStringz = string;




    NSString *mastaString;

    mastaString = webStringz;



    NSScanner *theScanner2;
    NSString *imageURL2;

    theScanner2 = [NSScanner scannerWithString: mastaString];

    // find start of tag
    [theScanner2 scanUpToString: @"<media:content url=\"" intoString: nil];
    if ([theScanner2 isAtEnd] == NO) {

        // find end of tag
        [theScanner2 scanUpToString: @"\" " intoString: &imageURL2];
        imageURL2 = [imageURL2 stringByReplacingOccurrencesOfString:@"<media:content url=\"" withString:@""];

        imageURL2 = [imageURL2 stringByReplacingOccurrencesOfString:@"\n" withString:@""];
        imageURL2 = [imageURL2 stringByReplacingOccurrencesOfString:@" " withString:@""];
                //Download Image
        NSURL * imageURL = [NSURL URLWithString:[imageURL2 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
        NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation([UIImage imageWithData:[NSData dataWithContentsOfURL:imageURL]])];

        UIImage * image = [UIImage imageWithData:imageData];

        [imageView setImage:image];

        NSLog(@"Image URL #1: %@", imageURL2);
        mastaString = [mastaString stringByReplacingOccurrencesOfString:imageURL2 withString:@""];

        if (imageView.image == nil) {
            NSLog(@"IS NIL");

        }
        else if (image == nil) {
            NSLog(@"IS NIL");

        }


    // Do any additional setup after loading the view.
}

}

在我的 NSLOG 中,它显示图像 url 及其有效。 它不显示 IS NIL 它不显示 IS NIL 2

但是 ImageView 没有显示图像?为什么?一切都连接起来了吗?

谢谢

【问题讨论】:

  • 您是否将 imageView 添加到视图层次结构中?
  • 我不知道这意味着什么对不起我很新。
  • 好吧,如果你没有将图像视图添加到根视图(在大多数情况下它是你的视图控制器的视图),虽然它被分配了,但你看不到它。跨度>
  • 是的,然后我确实将它添加到视图层次结构中
  • 我将创建一个全新的项目并在该项目上尝试相同的代码,看看它是否有效

标签: uiimageview uiimage nsurl nlog null


【解决方案1】:

一定是你第一次访问UIViewController的view时没有创建image view。注意 self.view 如果为 nil 会触发 viewDidLoad 方法,但此时 imageView 为 nil。所以你最好在 viewDidLoad 方法中创建 imageView。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多