女性向け予定表 1.4.1 バグ修正リリース

メモや生理日のデータが表示されなくなる問題を修正したアプリをリリースしました。
データ量により数秒から数分の変換表示が一度出ます。

あわてたためにiPhone5で検証し忘れて画面下にグレーの枠が出ていますが次の更新で修正します。動作に問題はありません。

このバージョンでも問題が出ている方はiOSのバージョン、iPhone/iPodの機種、メモの使用頻度をご連絡ください。

女性向け予定表 1.4.0 の不具合について

ご迷惑をおかけしております。
現在状況を検証中ですので今しばらくお待ちください。
データについては消えておりませんので次の修正で元に戻る予定です。

2013.11.12追記
不具合の原因がわかりましたので修正いたします。
いましばらくお待ちください。

とりあえず過去2回分の生理日データを入れていただくと予測は動きますのでそれで対処をお願いいたします。そのさい、入力したデータはメモしていただき戻ったデータとずれていないか誤確認をお願いします。予測結果が誤動作する可能性があります。

女性向け予定表 1.4.0 リリース 無料iPhoneアプリ

データが突然表示されなくなってしまう不具合を修正しました。
修正の過程で過去のデータの日付が1日ずれてしまった方もいらっしゃるかもしれません。
当初の設計で時間帯を移動して使用する可能性を完全に失念して作ってしまったために入り交じってしまった時間帯のデータの整合性をとることができませんでした。
申し訳ございません。

今後はシンプルに入力した時の日付(現地)を登録する様にしましたのでそういった不具合は発生しません。そのかわり海外旅行などに行かれた場合には1日の誤差が発生する可能性がある事をご了承ください。
またメモについても現密に時間軸にそって記録する物ではなくなりますのでそういう用途をお考えの方は一般的なカレンダーソフトなどをお使いください。
よろしくお願いいたします。

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を使うほどではない場合に有効だと思います。