Sebbene la risposta più votata sia valida per una serie di dizionari o altri oggetti serializzabili, non è valida per gli oggetti personalizzati.
Ecco la cosa, è necessario scorrere l'array e ottenere la rappresentazione del dizionario di ogni oggetto e aggiungerlo a un nuovo array da serializzare.
NSString *offersJSONString = @"";
if(offers)
{
NSMutableArray *offersJSONArray = [NSMutableArray array];
for (Offer *offer in offers)
{
[offersJSONArray addObject:[offer dictionaryRepresentation]];
}
NSData *offersJSONData = [NSJSONSerialization dataWithJSONObject:offersJSONArray options:NSJSONWritingPrettyPrinted error:&error];
offersJSONString = [[NSString alloc] initWithData:offersJSONData encoding:NSUTF8StringEncoding] ;
}
Per quanto riguarda il metodo di dictionaryRepresentation nella classe Offerta:
- (NSDictionary *)dictionaryRepresentation
{
NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
[mutableDict setValue:self.title forKey:@"title"];
return [NSDictionary dictionaryWithDictionary:mutableDict];
}
Definire "oggetti personalizzati". –
qual è il problema che hai in questo dato codice ?? –
Ottengo risultato vuoto – revolutionkpi