Возможно, название вопроса не требует пояснений, но я не знаю, как его подытожить.
Я заканчиваю приложение, которое в основном представляет собой БД. Я отправлю БД в приложении. Все работает хорошо, но вот я подошла к проблеме. Когда приложение установлено, ему необходимо создать базу данных на устройстве. Итак, я перетащил БД в папку «Вспомогательные файлы» в моем проекте 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 = [[собственный каталог документов приложения] stringByAppendingPathComponent: @ "Database.sqlite"];
это говорит мне, что «NSURL может не отвечать на 'stringByAppendingPathComponent' и, на самом деле, приложение вылетает из-за этого. Что интересно, пример из учебника вообще не дает никаких предупреждений.
Кто-нибудь может помочь мне в том, что мне не хватает?
Заранее спасибо!