0

私は現在、静かな時間 (アクティブなプロジェクトが進行していないとき) に会社のアプリに取り組んでいます。

私の主なバックグラウンドは WebDevelopment と C などです。

iOS アプリ開発に挑戦してみようと思いました。

とにかく、会社のブログ RSS フィードをテーブルビューに読み込もうとしています。

いくつかのビューとコントローラーを (すべてプログラムで) セットアップしました。Tableview は正常に機能し、MWFeedParser を使用して RSS Loading も正常に機能しました。「問題」は、それが ARC をサポートしていなかったことであり、何百ものクラス ファイルでプロジェクトを詰まらせているようにも感じました。

そこで、ARC 対応の RSSParser を探すことにしたので、BlockRSSParser を見つけました。

私はそれをプロジェクトに追加しましたが、彼らのサンプル アプリは私が使用したくない Interface Builder を使用しているため (多くの理由で)、私のコードでは TableView Delegates でアプリがクラッシュします。特に「NumberOfRowsInSection」メソッド。

これで、数値を返すために使用するコードが間違っていることがわかりましたが、そこが行き詰っています。

コードのサンプルには、UITableViewController があります。DataSource が既に定義されている場所。UIViewController と UITableView がありますが、デリゲートとデータソース自体を設定する必要があります。

したがって、サンプルでは次を使用します。

return [DataSource count];

確かに FeedItems の数を返す必要がありますが、何を入力してもうまくいかないようです。アプリがクラッシュするか、フィード アイテムが表示されません。

コード全体はここにあります: GitHub

特定のコードが存在するファイルは次のとおりです: .m ファイル

もうわからない!間違いなくいくつかの助けを使うことができます:)

4

1 に答える 1

0

*feedItems を NSArray *itemsToDisplay に渡していないため、データが入力されていません。RSS 解析ブロックを少し変更します。

// NEW RSS
NSURLRequest *req = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://redactiepartners.wordpress.com/feed/"]];
[RSSParser parseRSSFeedForRequest:req success:^(NSArray *feedItems) {
    [self setTitle:@"Blog"];
    [self.rssFeedView setDataSource:self];
    self.itemsToDisplay = feedItems;
    [self.rssFeedView reloadData];
} failure:^(NSError *error) {
    [self setTitle:@"Error"];
    NSLog(@"Error: %@",error);
}];

EDITわかりやすくするために、上記のコードは RPHomeViewController.m からのものです

于 2013-11-03T15:58:36.297 に答える