NSMutableArray *esami = [[NSMutableArray alloc] init];
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
//make a file name to write the data to using the
//documents directory:
NSString *fullFileName = [NSString stringWithFormat:@"%@/new", documentsDirectory];
esami = [NSKeyedUnarchiver unarchiveObjectWithFile:fullFileName];
Esame *add=[[Esame alloc]initWithNome:materia voto:voto crediti:crediti anno:anno];
[esami addObject:add];
[NSKeyedArchiver archiveRootObject:esami toFile:fullFileName];
なぜこのコードが機能しないのか理解できません.ルートディレクトリに既に書き込まれているファイルを使用する場合、新しい要素を配列に追加して書き込むことができますが、別のファイル(この場合は新しい)を使用すると動作しません。