1

シンプルな RSS リーダーがあります。ストーリーがダウンロードされ、UITableView に配置されます。クリックすると、各ストーリーが UIWebView に読み込まれます。それはうまくいきます。ここで、左側に画像を組み込みたいと思います (YouTube アプリで見られるように)。しかし、私のアプリは RSS フィードからプルするので、画像 X を行 X に表示するように単純に指定することはできません。なぜなら、行 X が明日行 Y になり、物事がうまくいかなくなるからです。私は現在、YouTube RSS フィードからプルしており、ビデオのタイトル、説明、公開日を取得できますが、フィード内の各エントリのほかに小さなサムネイルをプルする方法に行き詰まっています。

お分かりのように、私はコーディングの初心者 (Hello World アプリ以外のアプリケーションはこれが初めてです) で、自分の知識不足に苛立ちを感じています。

ありがとう!

ところで、ここにいくつかのサンプルコードがあります:

- (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];
    }

}
4

3 に答える 3

1

xml解析にはTouchXMLを試すことをお勧めします。作業がずっと簡単だと思います。

他のテキストフィールドをフェッチするのと同じように、画像のURLをフェッチします。次に、オブジェクトを作成してストーリーに追加するときは、次のようにします。

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

お役に立てれば

于 2009-03-02T12:20:27.043 に答える
0

同じ問題がありますが、Youtube API からの参照で解決しました。

これをあなたのYouTubeフィードと考えてください。

http://gdata.youtube.com/feeds/base/users/[ユーザー名を挿入]/uploads

ここで、YouTube のサムネイル画像を表示するために使用できる media:thumbnail タグを含む xml を取得します。

それがあなたを助けることを願っています!!!

于 2010-11-03T11:36:13.820 に答える