【发布时间】: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