Objective c Can';我无法从我的核心数据数据库获取数据

Objective c Can';我无法从我的核心数据数据库获取数据,objective-c,ios,core-data,nsfetchrequest,Objective C,Ios,Core Data,Nsfetchrequest,我总是以同样的方式从我的Web服务获取数据。它总是有效的。但现在我得到了这个错误 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name 'Team'' 用这种方法它会崩溃 - (NSMutabl

我总是以同样的方式从我的Web服务获取数据。它总是有效的。但现在我得到了这个错误

*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '+entityForName: nil is not a legal NSManagedObjectContext parameter
searching for entity name 'Team''
用这种方法它会崩溃

- (NSMutableArray *)getDoelmannen
{
    NSLog(@"tot hier doelman");
    NSArray *results = [[NSArray alloc]init];
    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    [request setEntity:[NSEntityDescription entityForName:@"Team" 
        inManagedObjectContext:self.genkDatabase.managedObjectContext]];
    request.predicate = [NSPredicate predicateWithFormat:@"position ==[c] %@",
                                                         @"Doelman"];
    NSLog(@"predicate is: %@",request.predicate);
    NSError *error = nil;
    NSLog(@"tot hier");
    results = [self.genkDatabase.managedObjectContext
               executeFetchRequest:request error:&error];

    return [results valueForKey:@"image"] ;

}
为了打开我的数据库,我使用以下方法

-(void)viewWillAppear:(BOOL)animated
{
    if (!self.genkDatabase) {  // we'll create a default database if none is set
        NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
        url = [url URLByAppendingPathComponent:@"Default appGenk Database"];
        self.genkDatabase = [[UIManagedDocument alloc] initWithFileURL:url]; // setter will create this for us on disk
    }

}

- (void)setGenkDatabase:(UIManagedDocument *)genkDatabase
{
    if (_genkDatabase != genkDatabase) {
        _genkDatabase = genkDatabase;
        [self useDocument];
    }
}

- (void)useDocument
{
    if (![[NSFileManager defaultManager] fileExistsAtPath:[self.genkDatabase.fileURL path]]) {
        // does not exist on disk, so create it
        [self.genkDatabase saveToURL:self.genkDatabase.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
            NSLog(@"bestaat niet");
            [self getTeam];


        }];
    } else if (self.genkDatabase.documentState == UIDocumentStateClosed) {
        // exists on disk, but we need to open it
        [self.genkDatabase openWithCompletionHandler:^(BOOL success) {
            NSLog(@"closed");
            [self getTeam];
        }];
    } else if (self.genkDatabase.documentState == UIDocumentStateNormal) {
        // already open and ready to use
        NSLog(@"Normal");
        [self getTeam];
    }

}
有人能帮我吗

亲切的问候

EDTI

这很奇怪,因为当我在另一个viewcontroller中测试该方法时,它是有效的。唯一的区别是在我的.h文件中我这样做了

 @interface MultimediaViewController : CoreDataTableViewController
在不起作用的viewController中,它会这样做

@interface MultimediaViewController : NRGridViewController
但我还是像这样进口的

#import "CoreDataTableViewController.h"

好的,我尝试了另一个函数。它成功了。我想这可能与我的managedobjectContext有关。这是起作用的函数

- (NSArray *)getDoelmannen
{
    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Team"];
    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"sortOrder == 1"];
    [request setPredicate:predicate];
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
    [request setSortDescriptors:sortDescriptors];

    NSError *error = nil;
    NSArray *mutableFetchResults = [self.genkDatabase.managedObjectContext executeFetchRequest:request error:&error];
    if (mutableFetchResults == nil) {
        //handle error
    }else if ([mutableFetchResults count] == 0){
        NSLog(@"geen resultaten voor doelmannen");
    }else{
        //NSLog(@"Name: %@ , position %@",[mutableFetchResults valueForKey:@"name"],[mutableFetchResults valueForKey:@"position"]);
        return mutableFetchResults;
    }
    return mutableFetchResults;
}

此错误明确表示此实体不存在。我会仔细检查数据库文件,删除所有提供所有项的谓词。一步一个脚印time@TraustiThor同样没有谓词no successYes,这很奇怪,因为它在另一个viewcontroller中工作。唯一的区别是我在其中实现了“CoreDataTableViewController”,在这里我实现了“NRGridViewController”,您的模型中是否有设置了“必需”标签的参数?也许您没有为这些参数设置默认值,也没有手动初始化它们。但是,很难从另一个角度解释为什么它会起作用。。。确保“managedObjectContext”不是nil,并且对于两种(工作/非工作)情况都相同?