2013-10-08 49 views
0

我目前正在對公司的應用程序在我安靜的時候(每當我沒有一個活躍的項目正在進行)BlockRSSParser編程問題

我的主要背景是在web開發和一些C和東西反正。

我想我會嘗試在iOS應用程序開發中的手。

無論如何,所以我試圖將我們公司的博客RSS feed加載到tableview中。

我設置了一些視圖和控制器(全部以編程方式)Tableview工作正常,RSS加載也使用MWFeedParser工作得很好。 「問題」在於它不支持ARC,並且不知何故,它也覺得我用數百個類文件堵塞了這個項目。

所以我選擇了一個RSSParser,它具有ARC Enabled,所以我找到了BlockRSSParser。

我將它添加到項目中,但他們的示例應用程序使用Interface Builder(我不想使用)(出於各種原因),因此在我的代碼中,應用程序在TableView Delegates上崩潰。 具體爲「NumberOfRowsInSection」方法。

現在我知道我用來返回數字的代碼是錯誤的,但那是我卡住的地方。

在代碼示例中,它們有一個UITableViewController。 數據源已定義的位置。 雖然我有一個UIViewController和一個UITableView,而我需要設置委託和數據源本身。

所以在他們的樣本,他們使用:

return [DataSource count]; 

這的確應該返回FeedItems的數量,但不管我進入它似乎並沒有爲我工作。 該應用程序崩潰或僅顯示一個Feed項目。

整個代碼可以在這裏找到: GitHub

其中,具體的代碼中存在的文件是在這裏: .m file

我也沒辦法了!肯定可以使用一些幫助:)

回答

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

編輯爲了清楚起見,上面的代碼是從RPHomeViewController.m

+0

我必須說...這看起來像我的一個愚蠢的新手的錯誤,而不是連Objective-C的具體......我錯過了這個事實讓我感到羞愧哈哈哈。非常感謝! – Shuyinsama