More Related Content
PPT
Neo4j Profile Export/Import Tool PPTX
PDF
USB3 host driver program structure PDF
PPTX
PDF
PDF
PDF
Starlingで何本かゲームを作ってみての感想[第3回 東京ひよこの会] What's hot
PDF
PDF
PDF
RubyではじめるIoT(Wakayama.rb活動報告) KEY
PDF
PDF
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話 PDF
PDF
PDF
僕はどうしてもLibsassが使いたかったんだ! PDF
RubyGemsで公開されているライブラリをモンキーパッチした話 PDF
【LT用前編】Rancherでマルチクラウド をやってみた PDF
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜 PPTX
PDF
PDF
Trident lt vagrant-hands-on PDF
PDF
PDF
KEY
PPTX
Raspberry pi は raspbian だけのものじゃない さわってみよう Couchbase Lite
- 1.
- 2.
自己紹介
★ iPhone App開発やってます
★ どっちかというとCouchbaseファン
★ 趣味半分でCouchbase + Node.js
★ ブログ:http://ssdkfk.wordpress.com/
★ Tw:kazutoshi_u / Fb :kazutoshi.u
13年5月2日木曜日
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
コード比較
CouchDocument* doc =[db untitledDocument];
RESTOperation* ope = [doc putProperties: contents];
if (![ope wait]){
NSLog(@"SAVE error!!");
}else{
NSLog(@"SAVE success!!");
}
CBLDocument* doc = [database untitledDocument];
NSError* error;
if (![doc putProperties: contents error: &error]){
NSLog(@"Couldn't save the new item");
}
ドキュメントを保存する場合
TouchDB
Couchbase
Lite
13年5月2日木曜日
- 14.
コード比較
Viewを使ってドキュメントを呼び出す場合
TouchDB
Couchbase
Lite
CouchDesignDocument* design =[db designDocumentWithName: @"Draft"];
CouchQuery* query = [design queryViewNamed: @"byDate"];
RESTOperation* op = [query start];
[op onCompletion: ^{
if (op.error) {
NSLog(@"erro!");
}
else{
for (CouchQueryRow* row in query.rows) {
NSDictionary *dic = row.value;
}
}
}];
CBLQuery* query = [[database viewNamed: @"byDate"] query];
for (CBLQueryRow* row in query.rows) {
NSDictionary* contents = row.value;
}
13年5月2日木曜日
- 15.
コード比較
Viewを使ってドキュメントを呼び出す場合
TouchDB
Couchbase
Lite
CouchDesignDocument* design =[db designDocumentWithName: @"Draft"];
CouchQuery* query = [design queryViewNamed: @"byDate"];
RESTOperation* op = [query start];
[op onCompletion: ^{
if (op.error) {
NSLog(@"erro!");
}
else{
for (CouchQueryRow* row in query.rows) {
NSDictionary *dic = row.value;
}
}
}];
CBLQuery* query = [[database viewNamed: @"byDate"] query];
for (CBLQueryRow* row in query.rows) {
NSDictionary* contents = row.value;
}
その差9行!
13年5月2日木曜日
- 16.
- 17.
LiveQuery簡単!
self.liveQuery = [[databasequeryAllDocuments] asLiveQuery];
[self.liveQuery addObserver:self forKeyPath:@"rows" options:0 context:NULL];
LiveQuery登録
- (void) observeValueForKeyPath: (NSString*)keyPath ofObject: (id)object
change: (NSDictionary*)change context: (void*)context
{
if (object == self.liveQuery) {
for (CBLQueryRow* row in [object rows]) {
// update the UI
[self allGet];
}
}
}
通知受け取り
13年5月2日木曜日
- 18.
- 19.
CouchDBとSync
NSArray *repls =[database replicateWithURL:[NSURL URLWithString:@"http://127.0.0.1:5984/testdb"] exclusively:YES];
まさかの1行
13年5月2日木曜日
- 20.
CouchDBとSync
NSArray *repls =[database replicateWithURL:[NSURL URLWithString:@"http://127.0.0.1:5984/testdb"] exclusively:YES];
まさかの1行
しかもSync後はLiveQueryも動いてくれます
13年5月2日木曜日
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.