2016-11-27 198 views
0

我目前正在爲我的論文中的iOS
我正在做一個表視圖,從我自己的Web服務中檢索數據,
模式賽格瑞實施SDWebImage檢索後數據,即時將該數據從當前行傳遞到一個詳細視圖的新模態視圖(摘要視圖到詳細視圖)
對於一個筆記,我不能使用push segue,因爲我已經有一個來自SWRevealViewController的導航控制器,真正的問題是,即時通訊從我的Web服務(及其工作,我可以在NSLOG中看到我的圖像URL)獲取數據時,然後使用帶有url的sdwebimage設置圖像,圖像不下載,沒有傳入網絡連接從我在調試中看到查看,這是我的代碼
TableView.m文件中的Objective-C(IOS)

- (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中,我的主要觀點實際上工作對於一個開放的形象,但再次,它不工作在模態視圖賽格,感謝您的幫助

+2

您的問題不明朗化。 「它不工作」不是一個足夠的問題描述。如果您的英語有問題,請儘量寫出較短的句子,用大寫字母開始每個句子,並以句號結束。這已經可以幫助其他人更好地理解你的文字。 – ImportanceOfBeingErnest

+0

其實際上並沒有將url轉換爲圖像,就像我沒有在我的主視圖中使用數組時一樣 –

+0

那麼它會做什麼呢?做咖啡?更好地描述你期望發生什麼以及發生什麼。 – Codo

回答

1

因此,我再次檢查後,我的網址鏈接不包含「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]]; 
} 

結案:)