Возможно, название вопроса не очень понятно, но я не знаю, как его подвести.
Я заканчиваю приложение, которое в основном БД. Я отправлю БД в приложении. Все работает хорошо, но теперь я пришел к проблеме. Когда приложение установлено, оно должно создать базу данных на устройстве. Итак, я перетащил БД в папку «Supporting Files» в моем проекте XCode (кстати, еще XCode 4.1). Я перешел к файлу AppDelegate.m и нашел метод (NSPersistentStoreCoordinator *) persistentStoreCoordinator {}.
Я подставил строку:
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Database.sqlite"];
для этого кода:
NSString *storePath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Database.sqlite"];
NSLog(@"%@", storePath);
NSURL *storeURL = [NSURL fileURLWithPath:storePath];
// Put down default db if it doesn't already exist
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:storePath]) {
NSString *defaultStorePath = [[NSBundle mainBundle] pathForResource:@"Database" ofType:@"sqlite"];
if (defaultStorePath) {
[fileManager copyItemAtPath:defaultStorePath toPath:storePath error:NULL];
}
}
Я получил это из урока Рэя Вендерлиха .
Дело в том, что компилятор выдает мне предупреждение в строке
NSString * storePath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @ "Database.sqlite"];
, который говорит мне, что "NSURL может не отвечать на 'stringByAppendingPathComponent', и, фактически, приложение вылетает из-за этого. Интересно, что пример из учебника не дает никаких предупреждений.
Кто-нибудь может мне помочь, что мне не хватает?
Заранее спасибо!