私はこのようにNSuserdefultsに配列を読み書きしています:
indexDelete = button.tag;
NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
NSData *dataRepresentingSavedArray = [currentDefaults objectForKey:@"save"];
if (dataRepresentingSavedArray != nil)
{
NSArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingSavedArray];
if (oldSavedArray != nil)
myIntegers = [[NSMutableArray alloc] initWithArray:oldSavedArray];
else
myIntegers = [[NSMutableArray alloc] init];
}
[myIntegers addObject:[NSNumber numberWithInteger:indexDelete]];
NSLog (@"Array myIntegers: %@", myIntegers);
[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:myIntegers] forKey:@"save"];
私がラインを維持すれば、すべてがうまくいきます:
myIntegers = [[NSMutableArray alloc] init];
データがそこにある場合でも、正しく書き込まれたり読み取られたりしないため、括弧から外れます。
このエラーが発生します:-[NSKeyedUnarchiver initForReadingWithData:]:データがNULLです
私は何を間違っているのですか?