SQLite データベースの管理に使用する小さなクラスを作成しました。しかし今、クラスを初期化してメソッドを呼び出そうとすると、EXEC_BAD_ACCES エラーが発生します。これはメモリ管理と関係があることがわかりましたよね?多分誰かがここで私を助けてくれるか、アドバイスをくれますか? 素晴らしいことだ!
私のソースを参照してください:
ヘッダー ファイル:
#import <Foundation/Foundation.h>
#import "FMDatabase.h"
@interface DatabaseManager : NSObject
{
FMDatabase *database;
}
-(void)selectData;
@end
実装ファイル:
#import "DatabaseManager.h"
@implementation DatabaseManager {
}
/*-------------------------------------------------------
* Class constructor
* Initializes the SQLite database connection.
-------------------------------------------------------*/
-(void)init {
self = [super init];
if(self) {
// Retrieve database path
NSString* databasePath = [[NSBundle mainBundle] pathForResource:@"database" ofType:@"sqlite"];
// Connect to database
database = [FMDatabase databaseWithPath: databasePath];
// Check database connection
if(![database open]) {
database = nil;
NSLog(@"ERROR: Failed to open SQLite connection!");
}
}
}
-(void)selectData: (NSString *)withSqlQuery{
return withSqlQuery;
}
@end
クラスの初期化とメソッドの呼び出し:
DatabaseManager *databaseManager = [[DatabaseManager alloc] init];
[databaseManager selectData];
宜しくお願いします