2009-03-02 13 views
1

Basit bir RSS okuyucum var. Hikayeler indirilir, bir UITableView içine alınır ve tıkladığınızda, her hikaye bir UIWebView'de yüklenir. Harika çalışıyor. Yine de, sol tarafta bir resim eklemek istiyorum (YouTube uygulamasında gördüğünüz gibi). Ancak, uygulamam bir RSS beslemesinden geldiğinden, X satırını X satırında görünecek şekilde belirleyemem çünkü X satırı yarın Y olacak ve işler düzensiz olacak, biliyor musunuz? Şu anda bir YouTube RSS feed'dan çekiyorum ve video başlığı, açıklama, yayınlanma tarihini alabilirim ancak özet akışındaki her girişin yanı sıra küçük küçük resmi nasıl çekeceğime bağlıyım.iPhone RSS thumbnail

Muhtemelen söyleyebildiğiniz gibi, ben bir kodlama yeni başlayanıyım (bu, Hello World uygulamasından başka ilk uygulamamdır) ve kendi bilgi eksikliğim yüzünden öfkeleniyorum.

Teşekkürler! Ben xml ayrıştırma için TouchXML denediğiniz öneriyoruz

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{    
    //NSLog(@"found this element: %@", elementName); 
    if (currentElement) { 
     [currentElement release]; 
     currentElement = nil; 
    } 
    currentElement = [elementName copy]; 
    if ([elementName isEqualToString:@"item"]) { 
     // clear out our story item caches... 
     item = [[NSMutableDictionary alloc] init]; 
     currentTitle = [[NSMutableString alloc] init]; 
     currentDate = [[NSMutableString alloc] init]; 
     currentSummary = [[NSMutableString alloc] init]; 
     currentLink = [[NSMutableString alloc] init]; 
    } 

} 

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{  
    //NSLog(@"ended element: %@", elementName); 
    if ([elementName isEqualToString:@"item"]) { 
     // save values to an item, then store that item into the array... 
     [item setObject:currentTitle forKey:@"title"]; 
     [item setObject:currentLink forKey:@"link"]; 
     [item setObject:currentSummary forKey:@"summary"]; 
     [item setObject:currentDate forKey:@"date"]; 

     [stories addObject:[item copy]]; 
     NSLog(@"adding story: %@", currentTitle); 
    } 

} 

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{ 
    //NSLog(@"found characters: %@", string); 
    // save the characters for the current item... 
    if ([currentElement isEqualToString:@"title"]) { 
     [currentTitle appendString:string]; 
    } else if ([currentElement isEqualToString:@"link"]) { 
     [currentLink appendString:string]; 
    } else if ([currentElement isEqualToString:@"description"]) { 
     [currentSummary appendString:string]; 
    } else if ([currentElement isEqualToString:@"pubDate"]) { 
     [currentDate appendString:string]; 
    } 

} 

cevap

1

:

BTW, burada bazı örnek kod var. Çalışması çok daha kolay.

Başka bir metin alanı getirdiğiniz gibi görüntü için URL'yi getir.

olarak düşünün, bu

+0

Hmm. Gördüğüm en kolay yolu, parserDidStart içinde attributeDict kullanmaktır çünkü kodumun geri kalanının tamamı bu şekilde kurulur. Medyadaki URL özniteliğini çıkarmak için bana yardımcı olan herkes yardımcı olabilir: thumbnail? Dev Docs: http://preview.tinyurl.com/cmhzch YouTube API'si: http://preview.tinyurl.com/az7tek –

0

aynı sorun var yardımcı olur, ancak Youtube API gelen referanslarla çözüldü

currentImage = [UIImage imageWithData:[NSData dataWithContentsOfURL: [NSURL URLWithString: theUrl]]] 

Hope: Öyleyse neye gibi bir şey nesnesi oluşturmak ve hikaye eklediğinizde ur youtube yem,

http://gdata.youtube.com/feeds/base/users/[insert KullanıcıAdı]/u medya ile bir xml alacak yüklenenler

: youtube’un küçük resimlerini görüntülemek için kullanabileceğiniz küçük resim etiketi.

Umarım yardımcı olacaktır!

0

URL'nizi feed öğesinden taramak ve youtube video kimliğini almak için NSScanner kullanırım. Daha sonra küçük resim görüntüsünü bir URL'den almak için video kimliğini kullanırdım. Bu cevaptan istediğiniz küçük resim URL'sini buradan seçebilirsiniz: https://stackoverflow.com/a/2068371/1484168

İlgili konular