これは、時々発生する奇妙な問題です。JSONを解析し、いくつかのエンティティを使用してCoreDataに保存しています。JSON からデータを保存し、それをプルして画面に表示します。アプリは、XCode から起動すると常に完全に正常に動作します。しかし、iPhoneから別の機会に開くと、20回に1回程度しか発生せず、JSONから保存されたデータが表示されません。問題は、CoreDataに保存された情報が何らかの形で破損していることだと思います具体的には、日付が画面上で null になっていることが時々わかります。
日付を保存する方法は次のとおりです
[event setValue:[df dateFromString:(NSString *)[key objectForKey:@"startSaleDate"]] forKey:@"dateStartSale"];
[event setValue:[df dateFromString:(NSString *)[key objectForKey:@"finishSaleDate"]] forKey:@"dateEndSale"];
アプリを再起動すると、アプリが強制終了されて再起動され、すべてが再び完全に機能します。JSON は常に正しく、電話に数時間インストールされた後、ファンキーなことを行うようです。それは理にかなっていますか?
ありがとう。
[アップデート]
さらにいくつかのテストを行いました。これは、バックグラウンドで数時間後にのみ発生するため、見つけにくいバグです。唯一の問題は、実際に NSDates を格納することであることがわかります。残りのデータではありません。バックグラウンドでしばらくすると、JSON に null を格納する有効な Date があるにもかかわらず、NSDate の保存に失敗します。そして、更新するたびにnullを保存し続けます。アプリを強制終了して起動すると、日付が正しく保存されます。モデルを使用してみましたが、同じことが起こります。
何か案は?私は今かなり迷っています。