Ios 核心数据和didSelectRowAtIndexPath

Ios 核心数据和didSelectRowAtIndexPath,ios,objective-c,uitableview,core-data,Ios,Objective C,Uitableview,Core Data,我正在努力学习在我的应用程序中使用核心数据。我怎么会被困在didSelectRowAtIndexPath 如果可能的话,我希望能够像以前一样使用uitableview arrayA是一个由plist填充的nsarray。我不知道如何修改代码来处理核心数据 在我的核心数据中,我有HovedMenu BarneDaab和Graviditeten,它们都有包含字符串的menuPunkt属性。所以问题是如何让代码与核心数据一起工作 我认为arrayA必须改变ofc,但是改变什么呢? 这是我从plist加

我正在努力学习在我的应用程序中使用核心数据。我怎么会被困在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;

}

基本上,您所需要做的似乎就是将
arrayA[indexPath.row][@“menuPunkt”]
替换为对FRC的调用,以获取适当的对象(就像更新单元格内容一样)


(您需要更改@“menuPunkt”的引用方法,因为您以前有字典,现在有了管理对象,所以语法糖不起作用)。

您使用FRC用信息填充单元格?那么你得到了合适的对象了吗?@Wain是的,我得到了合适的对象。在表中,有些内容的顺序完全错误,但这不是这里的主要问题:)那么,当您有FRC时,为什么需要数组呢。以及它所持有的物品的访问权?@Wain array在哪里?我需要一种让代码正常工作的方法,但不知道tableview使用IsEqualToString或其他什么,我需要一种让tableview使用IsEqualToString或其他什么的方法,所以我知道要与Xcode交互的表行希望我添加一个额外的[在self之前的开始处。它会抛出一个错误***由于未捕获的异常“NSInvalidArgumentException”终止应用程序,原因:'-[Hovedmenu objectForKeyedSubscript:]:无法识别的选择器发送到实例0x8a805b0'Ah,我的错,1分钟。
[[self.fetchedResultsController objectAtIndexPath:indexPath] valueForKey:@"menuPunkt"]