2016-11-27 5 views
0

ich gerade arbeite für meine Diplomarbeit in iOS
ich eine Tabellenansicht mache und die Daten aus meinem eigenen Web-Dienst abrufen,
nach dem Abrufen Daten, die Daten aus der aktuellen Zeile an eine neue modale Ansicht für eine Detailansicht übergeben (zusammenfassende Ansicht in die Detailansicht)
für eine Anmerkung, ich kann das Push-Segment nicht verwenden, da ich bereits einen Navigationscontroller von SWRevealViewController, der Eine echte Frage ist, wenn ich Daten von meinem Web-Service bekomme (und seine Arbeit, kann ich meine Bild-URL in NSLOG sehen) und dann sdwebimage set Bild mit URL verwenden, das Bild nicht herunterladen, gibt es keine eingehende Netzwerkverbindung von dem, was ich in debug sehe Ansicht, hier ist mein Code
TableView.m DateiSDWebImage in modal segue in Objective-C (iOS) implementieren

- (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]; 

}

und das ist mein modal DetailView.m Datei

- (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; 

}

seine Arbeit eigentlich, wenn im nur URL in meiner Hauptansicht für ein öffnendes bild, aber wieder, es funktioniert nicht in modal view segue, danke für ihre hilfe

+2

Ihr Problem nicht klar werden zu lassen. "Es funktioniert nicht" ist keine ausreichende Problembeschreibung. Wenn Sie Probleme mit Ihrem Englisch haben, versuchen Sie, kürzere Sätze zu schreiben, beginnen Sie jeden Satz mit einem Großbuchstaben und beenden Sie es mit einem Punkt. Das würde schon anderen helfen, Ihren Text besser zu verstehen. – ImportanceOfBeingErnest

+0

es konvertiert nicht wirklich URL zu Bild wie ich tat, wenn ich nicht ein Array in meiner Hauptansicht verwende –

+0

Also was macht es stattdessen? Kaffee machen? Beschreiben Sie besser, was Sie erwarten und was stattdessen passiert. – Codo

Antwort

1

also, nachdem ich erneut überprüft, meine URL-Link enthielt keine "http://www." Präfix, so hatte ich es geschafft, es zu tun, hier ist mein Code:

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]]; 
} 

Fall jetzt geschlossen :)