Sto provando a passare i dati alle etichette dal mio file JSON su un semplice ViewController ma non so dove effettivamente passare quei dati. Sarei in grado di aggiungere al mio metodo setDataToJson
o aggiungerei i dati nel mio metodo viewDidLoad
?Passare i dati dal file locale usando json
Ecco il mio codice
@interface NSDictionary(JSONCategories)
+(NSDictionary*)dictionaryWithContentsOfJSONString:(NSString*)fileLocation;
@end
@implementation NSDictionary(JSONCategories)
+(NSDictionary*)dictionaryWithContentsOfJSONString:(NSString*)fileLocation{
NSData* data = [NSData dataWithContentsOfFile:fileLocation];
__autoreleasing NSError* error = nil;
id result = [NSJSONSerialization JSONObjectWithData:data
options:kNilOptions error:&error];
if (error != nil) return nil;
return result;
}
@end
@implementation ViewController
@synthesize name;
- (void)viewDidLoad
{
[super viewDidLoad];
}
-(void)setDataToJson{
NSDictionary *infomation = [NSDictionary dictionaryWithContentsOfJSONString:@"Test.json"];
name.text = [infomation objectForKey:@"AnimalName"];//does not pass data
}
Ah questo funziona perfettamente !! Grazie mille :) – domshyra
Vorrei cambiare la mia funzione nsdictionary se volevo ottenere informazioni da una matrice di dati nel file Json 'self.lat.text = [[infomation valueForKey: @" Location "] valueForKey: @" Latitude "];' questo è quello che ho e questo è ciò che il JSON sembra '" Location ": [ { "Longitudine": 0, "Latitude": 0 } ],' e quando ho esegui esso dice '- [__ NSArrayI isEqualToString:]: selettore non riconosciuto inviato all'istanza' – domshyra
Quindi dovresti fare qualcosa del genere:' self.lat.text = [[[valore informazioniForKey: @ "Posizione"] objectAtIndex: 0] valueForKey : @ "Latitude"]; ' – Alladinian