Próbuję pobrać pojedynczy obiekt z mojej bazy tekstowej, ale on zwraca wartość null. Moja metoda jest oparta na innej metodzie, która zwraca każdą wartość z obiektu coredata, do którego uzyskuję dostęp.Jak pobrać pojedynczy obiekt z Coredata przy użyciu predykatu
Nigdy wcześniej tego nie próbowałem i próbowałem czytać dokumenty jabłek, ale to nie ma sensu .. to jest moja metoda wygląda jak
- (NSMutableArray *)readSelectedInstall:(NSString *)projIDString {
NSManagedObjectContext *context = [self managedObjectContext];
if (context == nil) {
NSLog(@"Nil");
}
else {
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"InstallProject" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ProjID==%@", projIDString];
[fetchRequest setPredicate:predicate];
NSError *error;
NSMutableArray *installProjectDictionaryArray = [[NSMutableArray alloc] init];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
for (InstallProject *installProj in fetchedObjects) {
NSMutableDictionary *tempInstallProjectDictionaryArray = [[ NSMutableDictionary alloc] init];
[tempInstallProjectDictionaryArray setObject:installProj.companyName forKey:@"CompanyName"];
[tempInstallProjectDictionaryArray setObject:installProj.projNo forKey:@"ProjNo"];
[tempInstallProjectDictionaryArray setObject:installProj.projID forKey:@"ProjID"];
[installProjectDictionaryArray addObject:tempInstallProjectDictionaryArray];
}
return installProjectDictionaryArray;
}
return nil;
}
każda pomoc w uzyskaniu mi zwrotu pojedynczego przedmiotu, który projID pasuje do projIDString byłby bardzo doceniony.
jest 'kontekstowego == zerowe ? Lub robi 'executeFetchRequest' return' nil'? W tym ostatnim przypadku, jaka jest wartość "błędu"? –
Okazuje się, że nie przydzielałem mojej klasy CoredataManagins. Zrobiłem to teraz i otrzymuję błąd. "Kończenie aplikacji z powodu nieprzechwyconego wyjątku" NSInvalidArgumentException ", powód:" niezatwierdzone generowanie kodu SQL dla predykatu: (DOWOLNY ProjID ZAWIERA [cd] "10000085") "" – HurkNburkS
"DOWOLNY PROJEKT ZAWIERA [cd] ..." nie jest predykatem, który pokazałeś na swoje pytanie ... –