2016-08-04 3 views
0

hier der CodeIch möchte json Daten speichern und verwenden, wenn ios erfordern

NSString *url = @"http://somesite.com/"; 
    NSURL *stringURL = [NSURL URLWithString:url]; 
    NSLog(@"url-------- %@",stringURL); 
    NSData *urlData = [NSData dataWithContentsOfURL:stringURL]; 
    NSLog(@"data---------%@",urlData); 

    if (urlData) 
    { 
     // JSON successfully downloaded 
     NSLog(@"yes "); 
    } 
    else 
    { 
     NSLog(@"not exist"); 
    } 

wenn ich NSData versuchen zu drucken ich gebe mich null und Kontrolle auch Block geht. Korrigieren Sie mich bitte .. Ich möchte die JSON-Daten speichern und dann verwenden, wo es benötigt wird

+0

Haben Sie es gelöst? – Jassi

Antwort

0

Sie könnten versuchen, Ihren Code nach der NSURL Zeile wie folgt zu ändern: Fein

NSError* error = nil; 
NSData* data = [NSData dataWithContentsOfURL:stringURL options:NSDataReadingUncached error:&error]; 
if (error) { 
    NSLog(@"%@", [error localizedDescription]); 
} else { 
    if (urlData) 
    { 
     // JSON successfully downloaded 
     NSLog(@"yes "); 
    } 
    else 
    { 
     NSLog(@"not exist"); 
    } 
} 
0

NSData wird Null zurückgeben, wenn Ursprungsdaten ungültiges Format ist. können Sie verwenden - initWithContentsOfURL: Optionen: Fehler: Fehlermeldung erhalten.

2

Ihr Code ist. Ich denke, Sie erhalten einen Fehler mit der App-Transportsicherheit. Als ich Ihren Code ausgeführt habe, habe ich einen Fehler gefunden -

"App Transport Security hat eine Klartext HTTP (http: //) Ressourcenbelastung blockiert, da es unsicher ist. Temporäre Ausnahmen können über die Info.plist Ihrer App konfiguriert werden Datei."

Um dies zu beheben, gehen Sie zu Ihrem info.plist-Datei des Projekts direkt darauf klicken und den Source Code Option wie folgt wählen -

enter image description here

Dann fügen Sie einfach

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

unter das Etikett Alles wird gut.

Verwandte Themen