приложения Делегат файл как глобальный файл, вы просто импортировать ваш Пользовательских созданного файла заголовок базы данных в приложении делегата, и создать объект из пользовательских созданного файла заголовок базы данных, предполагая, что имя файла является dbOperations.h
в приложении делегат
импорт его и создать свой объективистский t, затем, свойство, синтезировать, и все.
в любом контроллере зрения нужно просто импортировать файл «appDelegate.h» и сделать свой предмет с точки зрения сделал нагрузки как
objAppdelegate = [[UIApplication sharedApplication] делегат];
и вы можете получить доступ к всем методам и членам dbOperations.h файла по
objAppdelegate.objdbOperations.
все, что вы положили в appdelegate, останется общим и общим для всего приложения, всех viewControllers и всех классов.
Ваш метод createDatabase должен быть таким и вызвать этот метод, когда ваше приложение закончило метод загрузки файла appDelegate.
-(void)checkAndCreateDatabase
{
appDelegate = (SexarobicsAppDelegate *)[[UIApplication sharedApplication]delegate];
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir =[documentPaths objectAtIndex:0];
NSString *databasePath = [documentsDir stringByAppendingPathComponent:@"database.sqlite"];
//NSLog(@"%@", databasePath);
NSFileManager *fileManager = [NSFileManager defaultManager];
if(![fileManager fileExistsAtPath:databasePath])
{
NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"database.sqlite"];
[fileManager copyItemAtPath:databasePathFromApp toPath:databasePath error:nil];
}
//Open DB Connection
if(sqlite3_open([databasePath UTF8String], &database) != SQLITE_OK)
sqlite3_close(database);
return;
}
и обжиг SQL запрос типа таким образом, в выше кода @ «database.sqlite» Ваше имя дб файл.
-(void)getData
{
selectStmt = nil;
// fire query and perform those related operations
// Release the compiled statement from memory
sqlite3_finalize(selectStmt);
selectStmt = nil;
}
Thnak you @Hadley для вашей поддержки. , но мой проект build & run, но я получаю три предупреждения и даже подключение к базе данных не может быть открыто. –
Mr. @ Hadley что я действительно делаю в вышеупомянутом проекте, см. Мой следующий вопрос. –
, вероятно, вы не указали открытый оператор базы данных в своем методе создания базы данных. Вам нужно открыть базу данных, прежде чем выполнять какие-либо операции с БД (не уверен в случае выбора запроса, но будет лучше, если вы также откроете db в операции выбора). – HarshIT