2013-07-01 3 views
0

Я создаю приложение ios с xcode 4.6.1, которое использует данные ядра для сохранения данных в базе данных, я предоставил цель развертывания как ios 4.3, а базовый sdk установлен на последняя 6.1.Основные данные создают sqlite-файл без таблиц

Место, где я застреваю, когда я запускаю приложение на ios 4.3, я вижу, что мой sqlite-файл создан, но не содержит в нем таблиц. Я не писал никакого специального код здесь и каждая вещь по умолчанию позаботились в приложении делегата, я наткнулся на несколько поста, где другие разработчики говорят

 
NSURL *modelURL =[[NSBundle mainBundle] URLForResource:@"StudentData" withExtension:@"momd"]; 
    _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; 

использование «мама» выше, но я даже сделал это, и это Кажется, что каждый раз в ios 4.3 эта проблема возникает, я также пытался и сбрасывал свой симулятор много времени, но ничего не работает, и я требую поддержки ios4.3, поэтому, пожалуйста, дайте мне знать, что здесь происходит и что делать нужно сделать.

Я также попытался печати

 
NSLog(@"%@",[self managedObjectModel]);

, но это не ноль

Пожалуйста, обратите внимание, их не ошибка в имени файла здесь.

Благодаря

ответ

0

Ну, я получил эту работу, что я сделал, запустил приложение и увидел, что он создал файл sqlite, но без таблиц, но когда я попытался вставить данные в базу данных с помощью ios 4.3, тогда данные вставили и таблицы были созданы удивительно, это не имело для меня никакого смысла, но я получил эту работу, ничего не меняя в коде.

0

NSBundle * modelWrapper = [NSBundle bundleWithPath: [[NSBundle mainBundle] pathForResource: @ OfType "StudentData": @ "momd"]];

NSString * modelPath = [modelWrapper pathForResource: @ "StudentData" ofType: @ "mom"];

managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL: [NSURL fileURLWithPath: modelPath]];

0

По умолчанию в Mac OS у вас нет разрешения на запись.

От терминала перейдите на путь, где вы сохранили файл StudentData, а затем напишите эту команду chmod 777.

Это позволит вам записывать данные в файлы.

 Смежные вопросы

  • Нет связанных вопросов^_^