在 Objective-C(iOS) 中以模态转场实现 SDWebImage

implement SDWebImage in modal segue in Objective-C(iOS)

我目前正在 iOS
写论文 我正在 table 查看并从我自己的网络服务中检索数据,
检索数据后,我将该数据从当前行传递到详细视图的新模式视图(摘要视图到详细视图)
请注意,我不能使用 push segue,因为我已经有一个来自 SWRevealViewController 的导航控制器,真正的问题是当我从我的网络服务获取数据时(及其工作,我可以在中看到我的图像 url NSLOG) 然后使用 sdwebimage 设置图像 url,图像不下载,我在调试视图中看到没有传入网络连接,这是我的代码
TableView.m 文件

- (void) retrieveData{
NSURL * url = [NSURL URLWithString:@getDataURL];
NSData * data = [NSData dataWithContentsOfURL:url];



JSONArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

//set up array objek wisata
ObjekwisataArray = [[NSMutableArray alloc] init];

//loop jsonArray
for (int i = 0; i < JSONArray.count; i++)
{
    //add objek wisata
    //IdObjek,NamaObjek,DeskripsiObjek,FotoObjek,Latitude,Longitude
    NSString * IdObj = [[JSONArray objectAtIndex:i] objectForKey:@"idobjek"];
    NSString * NamaObj = [[JSONArray objectAtIndex:i] objectForKey:@"nama"];
    NSString * DeskripsiObj = [[JSONArray objectAtIndex:i] objectForKey:@"deskripsi"];
    NSString * FotoObj = [[JSONArray objectAtIndex:i] objectForKey:@"foto"];
    NSString * LatObj = [[JSONArray objectAtIndex:i] objectForKey:@"latitude"];
    NSString * LongObj = [[JSONArray objectAtIndex:i] objectForKey:@"longitude"];


    //untuk gambar


    //add objek wisata ke array objekwisatarray
    [ObjekwisataArray addObject:[[ObjectWisata alloc]initWithNama:NamaObj andDeskripsi:DeskripsiObj andFoto:FotoObj andLatitude:LatObj andLongitude:LongObj andIdObjek:IdObj]];

}

//reload data di table view
[self.tableView reloadData];

}

这是我的模式 DetailView.m 文件

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.

//load UI
[self setLabels];
[self getWisata:currentWisata];
[self downloadGambar];

NSURL * url = [[NSURL alloc] initWithString:currentWisata.foto];
[GambarWisata sd_setImageWithURL:url];

NSLog (@"URL FOTO : %@" , [NSString stringWithFormat:@"%@",url]);

/*
NSURL * url = [[NSURL alloc] initWithString:[currentWisata valueForKey:@"foto"]];
NSURL * temp = [[NSURL alloc] initWithString:currentWisata.foto];
//[ImageView sd_setImageWithURL:url];
//NSString * temp = url.absoluteString;
//[ImageView sd_setImageWithURL:[NSURL URLWithString:temp]];
[GambarWisata sd_setImageWithURL:temp];

//logfile
NSLog (@"VALUE URL : %@" , [NSString stringWithFormat:@"%@",url]);
NSLog (@"VALUE TEMP : %@" , [NSString stringWithFormat:@"%@",temp]);
*/
backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleDone target:self action:@selector(backButton)];
self.navigationItem.leftBarButtonItem = backButton;

}

当我仅使用 url 时,它在我的主视图中用于打开图像时它实际上工作,但同样,它在模态视图 segue 中不起作用,感谢您的帮助

所以在我再次检查后,我的 url link 不包含“http://www”。前缀,所以我设法做到了,这是我的代码:

    NSString *urlString = currentWisata.foto;
NSURL *webpageUrl;

if ([urlString hasPrefix:@"http://"] || [urlString hasPrefix:@"https://"]) {
    webpageUrl = [NSURL URLWithString:urlString];
} else {
    webpageUrl = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.%@", urlString]];
}

案件现已结案:)