Saving NSMutableArray in NSUserDefaults

常犯的錯誤

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *arr = [userDefaults objectForKey:@"doneForFirstVideo"];

文件有提到,回傳值是 immutable 如下:

Values returned from NSUserDefaults are immutable, even if you set a mutable object as the value.

應該要改成

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *arr = [[NSMutableArray alloc] initWithArray:[userDefaults objectForKey:@"doneForFirstVideo"]];