2014-12-19 76 views
0

我有一个图像视图,它从互联网上拉的URL这是我从RSS源获取的网址 - 它的图像从rss饲料拉取.xml这里是我使用的代码获取图像。UIImageView图像不返回零,但图像不显示

- (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没有显示图像?为什么?它的所有链接和一切?

感谢

+0

您是否将imageView添加到视图层次结构中? – KudoCC 2014-12-19 02:35:50

+0

我不知道这意味着什么对不起,我很新。 – 2014-12-19 02:40:47

+0

那么,如果您没有将图像视图添加到根视图(在大多数情况下它是视图控制器的视图),则尽管它已分配,但无法看到它。 – KudoCC 2014-12-19 02:44:19

回答

0

它必须是你当你第一次访问的UIViewController的观点没有创建图像视图。请注意,self.view将触发viewDidLoad方法,如果它为零,但imageView为零。所以你最好在viewDidLoad方法中创建imageView。