CBLManger.h
...
/** トップレベル CouchbaseLite オブジェクト; CouchDB Server やっているように、データベースのコレクション(RDBで言う
ところのテーブル)をマネージする. GBLManger や CBLManger以下の全てのオブジェクトはシングルスレッドでのみ利用可能.
他のスレッドでデータベースを扱う時は、対象となる CLBManger のインスタンスを copy してそのコピーを別のスレッドで使う
ことができる. */
@interface CBLManager : NSObject <NSCopying>
...
/** プロセスごとの共有インスタンスで、メインスレッドで使う
CBLManager *manager = [CBLManager sharedInstance]; */
+ (instancetype) sharedInstance;
...
/** 別のスレッドで CBLManger を使いたい時にインスタンスのコピーを生成する
CBLManger *newManger = [manager copy];
バックグラウンド処理をする時ときとか使うのかな.
Consistency が気になるところだけど、アプリの挙動にはあまり影響無さげ
*/
- (instancetype) copy;
/** データーベースリソースを全て解放する
applicationDidEnterBackground とかで事項すれば良いのかな? */
- (void) close;
# pragma mark - DATABASES:
/** CBLDataase インスタンスを返す. 指定した名前のDBがない場合、新しくDBを作成する.
既に指定した名前のDBがある場合、同じインスタンスを返す.
データーベースの名前に使える文字は、小文字[a-z], 数値[0-9], 特殊文字[$_()+-/] */
- (CBLDatabase*) databaseNamed: (NSString*)name
error: (NSError**)outError __attribute__((nonnull(1)));
/** 指定した名前のDBがあれば、そのインスタンスを返し、なければ、nil を返す。*/
- (CBLDatabase*) existingDatabaseNamed: (NSString*)name
error: (NSError**)outError __attribute__((nonnull(1)));
...
# pragma mark - CONCURRENCY:
... 非同期処理やバックグラインドの処理関連
# pragma mark - OTHER API:
... CouchbaseLiteListener を使う時につかうAPI