NSDataに変換して保存したり、読み込みをするようにしたいのですが、
何も保存されていない場所を読み込むとNULLが返ってきてしまいます。
読み込んだ配列に重複分を削除して、追加するみたいな処理を書いているのですが、
NULLが返ってきてしまうと、追加出来なくなってしまいます。
ソースの書き方が悪いのはわかっているのですが、回避法などアドバイス頂けないでしょうか。
参考サイト
http://qiita.com/tomokr/items/3ba8fe9997e3fb52a16f
NSMutableArray *readArray = [[NSMutableArray alloc] init];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *data = [defaults objectForKey:PATH_HISTORY];
NSLog( @"%@ %d", readArray, (int)readArray.count );
readArray = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSLog( @"%@ %d", readArray, (int)readArray.count );
// 履歴の保存
NSString *str = [[index objectAtIndex:indexPath.row] objectAtIndex:CSV_ID];
[readArray removeObject:str];
[readArray insertObject:str atIndex:0];
if( [readArray count] >= HISTORY_MAX ){
[readArray removeObjectsInRange:NSMakeRange( HISTORY_MAX, [readArray count]-HISTORY_MAX )];
}
NSLog( @"%@ %d", readArray, (int)readArray.count );
data = [NSKeyedArchiver archivedDataWithRootObject:readArray];
[defaults setObject:data forKey:PATH_HISTORY];
[defaults synchronize];