私はアプリケーションを開発しました。私はタブベースのアプリケーション用にsq-liteデータベースラッパー(BWDB - Wrapper ... BWDB)を使用しました。最初のビューコントローラこのコード目的のCオブジェクト用のsqliteデータベースラッパー
- (DBAccess *) loadDBAccessDatabase {
// NSLog(@"%s", __FUNCTION__);
if (!_dbObject) {
NSString * _dbFileName = @"turfnutritiontool_ver_one.db";
_dbObject = [[DBAccess alloc] initWithSSDBAccessFilename:_dbFileName];
}
// Check Point
[TestFlight passCheckpoint:@"LOAD_DATABASE"];
return _dbObject;
}
を使用して、データ用の新しいDBオブジェクトの作業罰金がフェッチが、私がすることができませんので、私はときに、第2のビューコントローラの負荷新しいオブジェクトを作成する場合には、このビューコントローラに私のために動作しますが、データベースを挿入または更新するとdbがロックされているので、すべてのアプリケーションで1つのdbオブジェクトしか管理できず、別のビューコントローラに送信して正常に動作するように伝えてください。
ありがとうございました! – Retro
ありがとうございます!一つのこと、私はシングルトンクラスhttp://iphone.galloway.me.uk/iphone-sdktutorials/singleton-classes/についてのチュートリアルを読んで、私は理解していないラッパークラスにそのシングルトンメソッドを使用する必要がありますか? – Retro
シングルトンを使用すると、別のクラス(この場合は基本的にDBAccessポインタのラッパー)を作成します。あなたがリンクしたサンプルでは、 'someProperty'は' _dbObject'です。このクラスは、データベースにアクセスする必要がある場合はいつでも使用できます。これは、(クラスの複数のオブジェクトではなく)データベースにアクセスする異なるクラスを持つ場合に便利です。あなたはシングルトンを持っています。コントローラーは、データベースの初期化についてさらに検討する必要はありません。一方、すべてのView Controllerが同じクラスのインスタンスである場合は、静的変数で十分です。 – Peter