Связывание основных данных с конкретной базой данных - PullRequest
0 голосов
/ 07 декабря 2011

Я очень новичок в разработке для iPhone, и хотя я часами искал правильный ответ, в конце я только запутался. Вот мой вопрос - я делаю простое приложение для iPhone, которое имеет свою собственную базу данных / состоит только из одной простой таблицы и хранится в папке моих проектов вместе со всеми файлами .m и .h / и использует модель управляемого объекта представлены основные данные. Я думаю, что все сделал так, как должно, но моя программа заканчивается следующим: "Неразрешенная ошибка Error Domain = NSCocoaErrorDomain Code = 256" Операция не может быть завершена. (Ошибка какао 256.)

На самом деле вот весь вывод:

2011-12-07 18: 50: 50.009 weatherForecast [5368: 207] CoreData: ошибка: (1) ошибка ввода-вывода для база данных в / Users / ELN / Библиотека / Поддержка приложений / iPhone Имитатор / 5.0 / Применения / 4991C3EB-BDC2-4507-B1FB-720F6DC30245 / Документы / weatherForecast.sqlite. Код ошибки SQLite: 1, «нет такой таблицы: Z_METADATA»

2011-12-07 18: 50: 50.012 weatherForecast [5368: 207] Неразрешенная ошибка Ошибка домена = NSCocoaErrorDomain Code = 256 "Операция не может быть завершено. (Ошибка какао 256.) "UserInfo = 0x6a33e40 {NSUnderlyingException = Ошибка ввода-вывода для базы данных в /Users/toma.popov/Library/Поддержка приложения / iPhone Имитатор / 5.0 / Применения / 4991C3EB-BDC2-4507-B1FB-720F6DC30245 / Документы / weatherForecast.sqlite. Код ошибки SQLite: 1, «нет такой таблицы: Z_METADATA», NSSQLiteErrorDomain = 1}, { NSSQLiteErrorDomain = 1; NSUnderlyingException = "Ошибка ввода-вывода для базы данных в / Users / eln / Библиотека / Поддержка приложений / iPhone Имитатор / 5.0 / Применения / 4991C3EB-BDC2-4507-B1FB-720F6DC30245 / Документы / weatherForecast.sqlite. ** Код ошибки SQLite: 1, 'нет такой таблицы: Z_METADATA' ";

моя программа останавливается прямо в этом методе get: **

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
    if (__persistentStoreCoordinator != nil)
    {
        return __persistentStoreCoordinator;
    }
    NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"weatherForecast.sqlite"];
   NSLog(@"DATABASE IS LOCATED AT: %@",(NSString *)[self applicationDocumentsDirectory]);
    NSError *error = nil;
    __persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

    if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error])
    {
        //right here my program aborts
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();
    }

**

Буду очень признателен, если кто-нибудь даст мне совет или хотя бы совет, в чем может быть проблема. Заранее спасибо!

1 Ответ

1 голос
/ 07 декабря 2011

Core Data должна управлять / создавать свою собственную базу данных, она не может использовать ту, которую вы создали сами. weatherForecast.sqlite такой файл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...