Мне нужно было создать свойство экземпляра для базы данных. Мое предположение, что статическое объявление было достаточным, было неверным. Кстати, совет FMDB / ORM отличный. Я большой поклонник ОРМ. Тем не менее, этот проект - мой первый iphone, и это небольшой объем работы с базами данных, и я хочу научиться. Итак, я собираюсь сделать это старой школы. Спасибо за совет.
Вот изменения кода, которые я сделал, чтобы моя глобальная ссылка работала. Надеюсь, это кому-нибудь поможет:
/* myAppDelegate.h file */
#import <sqlite3.h>
@interface myAppDelegate : NSObject <UIApplicationDelegate> {
... // you may have windows etc here
sqlite3 *database;
}
@property (readwrite) sqlite3 *database;
/* myAppDelegate.m file */
@implementation myAppDelegate
...
@synthesize database;
/* some method in some class that uses the database */
- (void) getSomeData
{
myAppDelegate *appDelegate = (myAppDelegate *) [[ UIApplication sharedApplication ] delegate ];
const char *sql = "SELECT * FROM myTable";
sqlite3_stmt *selectstmt;
if(sqlite3_prepare_v2(appDelegate.database, sql, -1, &selectstmt, NULL) == SQLITE_OK)
{
// get the data here.
}
}