月別アーカイブ: 2013年10月

iOSでSQLite3を使う方法 TSSqlite

この方のライブラリが個人的には使いやすかったので紹介。
ライセンスはMIT。
ソース公開なので何かあっても自分でなんとかできるのがおすすめ。
素敵なライブラリをありがとうございます。

TSSqlite[9wick Documents]

以前はここに書かれているサンプル通りで動いたのですが現在は動きません。
原因はKey-Value Coding (KVC)がうまく動かないため。
探し方が悪いらしく解決策を見つけられなかったので少し特殊な方法で解決しました。
もっといい方法があるよって方はお教えください。

問題はモデルクラスの作り方です。
サンプルでは
#import <Foundation/Foundation.h>
#import “TSSqlite.h”
@interface AppBook : TSModel
@property (retain,nonatomic) NSNumber *indexNo;
@property (retain,nonatomic) NSString *name;
@property (retain,nonatomic) NSString *author;
@property (retain,nonatomic) NSNumber *year;
@end

#import “AppBook.h”
@implementation AppBook
@dynamic indexNo;
@dynamic name;
@dynamic author;
@dynamic year;
@end

この様に定義するのですがこのままだと
AppBook *appBook;
NSLog(@”index=%i”, appBook.indexNo);
のように参照するとKVCが働かず、@dynamic indexNo;で作られたインスタンスを表示してしまいいつも0やnullになってしまいます。

これを次の様に継承定義すると一応使える様になるのでこれでごまかしていますw

#import <Foundation/Foundation.h>
#import “TSSqlite.h”
@interface OrgAppBook : TSModel
@property (retain,nonatomic) NSNumber *indexNo;
@property (retain,nonatomic) NSString *name;
@property (retain,nonatomic) NSString *author;
@property (retain,nonatomic) NSNumber *year;
@end

#import “OrgAppBook.h”
@implementation OrgAppBook
@dynamic indexNo;
@dynamic name;
@dynamic author;
@dynamic year;
@end

#import “OrgAppBook.h”
@interface AppBook : OrgAppBook
@end

#import “AppBook.h”
@implementation AppBook
@end

難しい定義には向かないけどCoreDataを使うほどではない場合に有効だと思います。

女性向けカレンダーで不具合が起きている方へ

いつもご利用ありがとうございます。
いくつかの対策をしたのですが未だに直っていない方もおられるようです。
記録されている日付に問題があるらしいのはわかっているのですが細かい部分がわかりません。もし可能であれば以下のiTunesの画面からseiri.plistをメールでお送りください。この中には日付と開始、終了の情報だけ入っています。他のファイルにはメモ、体重、体温が記録されています。こちらのファイルは無くても原因は特定できそうなので不要です。

一時的に使える様にするためにはこれら4個のファイルをバックアップし、ファイルを削除するとまっさらな状態からもう一度使える様になるはずです。

ご迷惑をおかけしてすみません。

iTunes App