2015-11-13 8 views
-1

Im пытается захватить artistId из этого JSONNSInteger против NSNumber и извлечения JSON данных из ITunes

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

при создании моего объекта подкастов. но когда я пытаюсь отобразить эту переменную в виде строки, она возвращает null. Как это исправить?

Это где я пытаюсь получить доступ к artistID

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

строка делает «podcastID» (нуль) во всех случаях.

А вот ответ ITunes, где я назначу художника ID

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

Установить точку останова в коде отображения, чтобы проверить, если artistId в настоящее время правильно назначены. – RaffAl

+0

Вы оставили весь важный код. Покажите, как и где вы разбираете JSON и присваиваете свойство 'artistId'. И покажите, как вы пытаетесь отобразить его как строку. – rmaddy

+0

Вы делитесь некоторыми JSON, но не показываете нам, как вы его разобрали, ни как «эпизод», или «подкаст» или его «artistID». Без этого никто не сможет вам сказать, почему ваша переменная 'podcastID' равна« nil ». – Rob

ответ

0

Попробуйте использовать NSNumber вместо:

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