2014-01-19 81 views
0

我試圖學習在我的應用程序中使用核心數據。如何我曾經在這裏didSelectRowAtIndexPath方法核心數據和didSelectRowAtIndexPath

卡住我希望能夠用我的UITableView像我以前那樣,如果可能的

arrayA是從plist中填補了NSArray的。我不知道如何改變這個代碼與核心數據

在我的核心數據我有HovedMenu BarneDaab和Graviditeten他們都得到了menuPunkt的屬性與字符串在其中。所以問題是我如何獲得這個代碼來處理核心數據?

我覺得對ArrayA必須改變OFC,但什麼? 這是我從plist加載時使用的舊代碼。 我想將它升級到核心數據

if ([arrayA[indexPath.row][@"menuPunkt"]isEqualToString:@"Barnedåb"]) { 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"BarneDaab" bundle:nil]; 
    barneDaabMenuViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"barneDaab"]; 
    [self.navigationController pushViewController:controller animated:YES]; 

} 

這裏是我染:

- (NSFetchedResultsController *)fetchedResultsController { 

if (_fetchedResultsController != nil) { 
    return _fetchedResultsController; 
} 
NSError *error; 
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
MBBAppDelegate *appDelegate = (MBBAppDelegate *)[[UIApplication sharedApplication] delegate]; 
NSManagedObjectContext* context = appDelegate.managedObjectContext; 

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Hovedmenu" inManagedObjectContext:context]; 
[fetchRequest setEntity:entity]; 
NSSortDescriptor *sort = [[NSSortDescriptor alloc] 
          initWithKey:@"menuPunkt" ascending:NO]; 
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]]; 

[fetchRequest setFetchBatchSize:20]; 

NSFetchedResultsController *theFetchedResultsController = 
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest 
            managedObjectContext:context sectionNameKeyPath:nil 
               cacheName:nil]; 

self.fetchedResultsController = theFetchedResultsController; 
_fetchedResultsController.delegate = self; 

return _fetchedResultsController; 

}

+0

您正在使用FRC來填充信息單元?那麼你得到適當的對象呢? – Wain

+0

@是的,我確實得到了適當的對象。進入表中它是一些錯誤的順序,但這不是這裏的主要問題:) – KennyVB

+0

那麼爲什麼你需要陣列,當你有FRC。並訪問它擁有的對象? – Wain

回答

1

基本上它看來,所有你需要做的是通過調用替換arrayA[indexPath.row][@"menuPunkt"]到FRC以獲取適當的對象(就像您更新單元格內容一樣)。

[[self.fetchedResultsController objectAtIndexPath:indexPath] valueForKey:@"menuPunkt"] 

(您需要更改的參考方法@「menuPunkt」因爲你曾經有過的字典,現在你管理的對象,因此語法糖不工作)。

+0

Xcode希望我添加一個額外的[在自我之前的開始。它會拋出一個錯誤***終止應用程序由於未捕獲異常'NSInvalidArgumentException',原因:' - [Hovedmenu objectForKeyedSubscript:]:無法識別的選擇器發送到實例0x8a805b0' – KennyVB

+0

啊,我的壞,1分鐘。 – Wain

+0

B-E-A-UTIFUL !!!有用 – KennyVB