Я не могу прочитать мои данные из базы данных.У меня есть приложение с tabbarcontroller.на первой вкладке камера iphone делает снимок со штрих-кода и отправляет результат в другое представление (CameraReturnDetailViewController).В CameraReturnDetailViewController это кнопка сохранения, а вот код этой кнопки сохранения:
- (IBAction)saveAndQuitScan:(id) sender {
XLog(@"saveAndQuitScan button wurde geklickt!");
ProjectQRCodeAppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSManagedObject *newData;
newData = [NSEntityDescription insertNewObjectForEntityForName:@"BarcodeDaten" inManagedObjectContext:context];
[newData setValue:dataLabel.text forKey:@"Barcode_CD"];
NSError *error;
[context save:&error];
//Aktuelle ansicht (self) animiert verlassen
[self dismissModalViewControllerAnimated:YES];
// Nachdem die ansicht verlassen wurde,
// auf das zweite Tab wechseln(scanverlauf)
/** TO DO - Funktioniert noch nicht **/
[self.tabBarController setSelectedIndex:1];
}
Теперь моя цель - показать табу на второй вкладке в TableView (ScansViewController):
- (void)viewDidLoad {
[super viewDidLoad];
if (managedObjectContext_ == nil)
{
managedObjectContext_ = [(ProjectQRCodeAppDelegate *)[[UIApplication sharedApplication]delegate] managedObjectContext];
NSLog(@"After managedObjectContext: %@", managedObjectContext_);
}
myTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame] style:UITableViewStylePlain];
myTableView.delegate = self;
myTableView.dataSource = self;
myTableView.autoresizesSubviews = YES;
self.navigationItem.title = @"Code Liste";
self.view = myTableView;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [itemsList count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
return cell;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *selectDay = [NSString stringWithFormat:@"%d", indexPath.row];
TableDetailViewController *fvController = [[TableDetailViewController alloc] initWithNibName:@"TableDetailViewController" bundle:[NSBundle mainBundle]];
fvController.selectDay = selectDay;
[self.navigationController pushViewController:fvController animated:YES];
[fvController release];
fvController = nil;
}
- (void) configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {
NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = [[managedObject valueForKey:@"Barcode_CD"] description];
}
- (NSFetchedResultsController *) fetchedResultsController {
if (fetchedResultsController_ !=nil) {
return fetchedResultsController_;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"BarcodeDaten" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setFetchBatchSize:20];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Barcode_CD" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
[aFetchedResultsController release];
[fetchRequest release];
[sortDescriptor release];
[sortDescriptors release];
NSError *error = nil;
if (![fetchedResultsController_ performFetch:&error]) {
XLog(@"Error: %@, %@", error, [error userInfo]);
abort();
}
return fetchedResultsController_;
}
Сначала я получаю эту ошибку, когда выбираю вторую вкладку (ScansViewController): «Завершение приложения из-за необработанного исключения« NSInternalInconsistencyException », причина:« + entityForName: не удалось найти NSManagedObjectModel для имени объекта «BarcodeDaten» »"
Имя верное, но я не понимаю мою ошибку.
В таблице нет данных, почему?
Я что-то пропустил ..?Или что-то не так?
Спасибо за помощь, brush51