2015-11-13 2 views
-1

Im essayant de saisir le ArtistlD de cette JSONNSInteger vs NSNumber et la récupération des données JSON de itunes

{ 
    "wrapperType": "track", 
    "kind": "podcast", 
    "artistId": 125443881, 
    "collectionId": 523121474, 
    "trackId": 523121474, 

lors de la création de mon objet podcast. mais quand j'essaie d'afficher cette variable sous forme de chaîne, elle renvoie null. Comment puis-je réparer ça?

C'est là que je suis en train d'accéder au ArtistlD

NSNumber *podcastID = episode.podcast.artistID; 
NSString *episodeNumber = [episode.title stringByReplacingOccurrencesOfString:@" " withString:@"-"]; 
NSString *deeplinkURL = [NSString stringWithFormat: @"podcast://%@/%@",podcastID, episodeNumber]; 

La chaîne fait « podcastID » (null) dans tous les cas.

Et voici la réponse iTunes, où j'attribue l'artiste ID

 response.artistId = [[dictionary objectForKey:@"artistId"] integerValue]; 
+0

Définir un point d'arrêt dans votre code de mappage afin de vérifier si le ArtistlD est d'être correctement attribué. – RaffAl

+0

Vous avez omis tout le code important. Montrez comment et où vous parlez le JSON et assignez la propriété 'artistId'. Et montrez comment vous essayez de l'afficher en tant que chaîne. – rmaddy

+0

Vous partagez du JSON, mais ne nous montrez pas comment vous l'avez analysé, ni comment 'episode' ou son' podcast' ou son 'artistID' sont peuplés. Sans cela, personne ne peut vous dire pourquoi votre variable 'podcastID' est' nil'. – Rob

Répondre

0

Essayez d'utiliser NSNumber à la place:

self.artistId = [(NSNumber *)[response valueForKey:@"artistId"] integerValue];