2010-11-12 130 views
0
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

NSManagedObject *selectedObject = [self.fetchedResultsController objectAtIndexPath:indexPath]; 
BlogRssParser *blogRss = [[BlogRssParser alloc] init]; 
[blogRss setSelectedObject:selectedObject]; 

RssFunViewController *rssFun = [[RssFunViewController alloc] initWithNibName:@"RssFunViewController" bundle:nil]; 
[self.navigationController pushViewController:rssFun animated:YES]; 
[rssFun release]; 

} 

這是我的代碼,以便當用戶點擊該行,它應該從該行採取的值,並將其插入到這裏:iPhone核心數據的問題

NSString *terms = [[[self selectedObject] valueForKey:@"data"]description]; 
NSLog(@"%@", terms); 

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://news.search.yahoo.com/rss?ei=UTF-8&p=%@&fr=news-us-ss", terms]]; 

但「術語」正顯示出作爲(空)在日誌中?不是單擊行的值

+0

請解釋一下代碼的最高位。我認爲閱讀以代碼開頭的問題有點困難。 – Moshe 2010-11-12 17:44:56

+0

我確實嘗試並接受答案,但有時答案只是沒有通過。代碼的最高位應該獲得表中行的當前值(通過核心數據填充),然後在另一個類中聲明一個名爲selectedObject的NSManagedObject屬性,併爲此對象設置「terms」。然後我想把它放到它下面的URL中以返回RSS源 – benhowdle89 2010-11-12 17:48:53

+0

對象可能坐在不同的上下文中嗎?你確定你在*相同的*對象上設置條件嗎? – joshpaul 2010-11-12 17:58:14

回答

0

我明白了,你使用了一些代碼,I posted here for you。但你不應該複製並粘貼它。
在我的代碼selectedObject不是一個成員,因爲它是絕對沒有必要的。

此行

NSManagedObject *selectedObject = [self.fetchedResultsController objectAtIndexPath:indexPath]; 

指向一個非成員變量 而

[self selectedObject] 

指向一個部件 - 一個完全不同的事。

編輯
是TableViewContoller的第二部分還是在DetailedView中?

+0

在blogrssparser.m這是代碼保存在哪裏來填充rssfunviewcontrollers tableview,那麼你對上述問題的建議是什麼?謝謝 – benhowdle89 2010-11-12 20:22:57

+0

都是你在BlogRssParser發佈的代碼嗎? – vikingosegundo 2010-11-12 20:52:27

+0

不,一個在RootViewController(頂部),我希望用戶點擊一行,然後第二個代碼在BlogRssParser.m中的URL邏輯。 – benhowdle89 2010-11-13 00:16:50