1

まず、gdata フィードを取得したこの gdata url があります。

https://gdata.youtube.com/feeds/api/videos/tge2BfiIXiE?v=2&alt=jsonc

これは、URL から情報を取得するためのコードです。

NSURL *feedURL = [NSURL URLWithString:@"https://gdata.youtube.com/feeds/api/videos/tge2BfiIXiE?v=2&alt=jsonc"];

NSData *jsonData = [NSData dataWithContentsOfURL:feedURL];

NSError *error = nil;

NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];

NSDictionary *data1 = [dataDictionary objectForKey:@"data"];    
NSString *t  = [data1 objectForKey:@"title"];
NSLog(@"Title:%@", t);

NSDictionary *thumbs = [dataDictionary objectForKey:@"thumbnail"]; 

NSURL *standardThumb  = [thumbs objectForKey:@"sqDefault"];
NSURL *hdThumb  = [thumbs objectForKey:@"hqDefault"];

上記のコードは、ビデオのタイトルを取得します。ただし、コードは gdata URL からサムネイルを正常にフェッチしません。URLにアクセスしようとするとNSLOG、応答しか返されないため、問題はこれを修正する方法です。hdThumbnull

4

1 に答える 1

1

これを試して:

NSDictionary *thumbs = [[dataDictionary objectForKey:@"data"] objectForKey:@"thumbnail"];

または、次の構文を使用して辞書の値にアクセスできます。

NSDictionary *thumbs = dataDictionary[@"data"][@"thumbnail"];

あなたの問題は、最初に「データ」辞書にアクセスするのを忘れたことでした

于 2013-10-06T20:28:32.397 に答える