我試圖從我的coredatabase中獲取單個對象,但它一直返回null。我的方法是基於另一種方法,它返回從我正在訪問的coredata對象的每個值..如何使用謂詞從Coredata中獲取單個對象
我從來沒有嘗試過這一點,並嘗試閱讀蘋果文件,但它只是沒有意義..這是我的方法看起來像
- (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;
}
任何幫助讓我返回一個項目多數民衆贊成projID匹配projIDString將不勝感激。
是'背景== nil' ?或者'executeFetchRequest'返回'nil'?在後一種情況下,「錯誤」的價值是什麼? –
原來我沒有分配我的CoredataManagins類..我現在已經完成了,並正在接收一個錯誤。 「終止應用程序,由於未捕獲異常'NSInvalidArgumentException',原因:'未實現SQL生成謂詞:(任何ProjID CONTAINS [cd]」10000085「)'」 – HurkNburkS
「任何ProjID CONTAINS [cd] ...」不是謂詞你在你的問題中顯示... –