Эй, я создал собственный метод поиска для доступа к базе данных:
+(NSArray*) recordsForTable:(NSString *)table predicate:(NSPredicate *)prd{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:table inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:prd];
NSArray *records = [managedObjectContext executeFetchRequest:fetchRequest error:nil];
[fetchRequest release];
return records;
}
Затем я использую этот метод в этом методе:
-(NSArray *)tableViewControllerData{
NSNumber *savedBool = [[NSNumber alloc] initWithBool:YES];
NSString *onlyGetSavedVisitObjects = [NSString stringWithFormat:@"bolSaved=%@", savedBool];
[savedBool release];
NSMutableArray *data = [[[CoreDataAccess recordsForTable:@"LPVisit" stringPredicate:onlyGetSavedVisitObjects] mutableCopy] autorelease];
NSSortDescriptor *dateDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"dteVisitDate" ascending:NO];
NSArray *descriptors = [NSArray arrayWithObjects:dateDescriptor, nil];
[data sortedArrayUsingDescriptors:descriptors];
return data;
}
Проблема в том, чточто, когда пользователь вносит изменения в таблицу LPVisit и вызывает этот метод, чтобы показать эти изменения, он вызывает сбой приложения.
[EDIT]
Исключение, которое он создает:
-[__NSArrayM objectID]: unrecognized selector sent to instance 0x4dac1f0
Я считаю, что ошибка в строке:
NSMutableArray *data = [[[CoreDataAccess recordsForTable:@"LPVisit" stringPredicate:onlyGetSavedVisitObjects] mutableCopy] autorelease];
Если я удаляю авто-релиз, я получаю утечку памяти, но приложение не падает.
Есть ли у кого-нибудь какие-либо идеиспасибо заранее