I am trying to save the NSMutableArray in NSUserDefaults. Here is my code
(void) alarmSetting :(AlarmObject *)alarmObject
{
[alarmSelect addObject:alarmObject];
time = alarmObject.clockDate;
title = alarmObject.titleForAlarm;
repeat = alarmObject.repeatData;
video = alarmObject.titleOfTheVideo;
double uniqueId = alarmObject.uniqueTime;
ID = [NSNumber numberWithDouble:uniqueId];
if(![[NSUserDefaults standardUserDefaults] objectForKey:@"MyAlarms"])
{
alarmToBeSaved= [[NSMutableArray alloc] init];
}
else
{
alarmToBeSaved=[[NSUserDefaults standardUserDefaults] valueForKey:@"MyAlarms"] ;
}
[alarmToBeSaved addObject:alarmObject];
[[NSUserDefaults standardUserDefaults] setObject: alarmToBeSaved forKey:@"MyAlarms"];
NSLog(@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"MyAlarms"]);
[[NSUserDefaults standardUserDefaults] synchronize];
[tbleView reloadData];
}
But I am getting an error
016-02-25 14:40:05.003 Alarm[3229:87627] Attempt to set a non-property-list object (
"<AlarmObject: 0x7ff4807ecd80>"
) as an NSUserDefaults/CFPreferences value for key MyAlarms
2016-02-25 14:40:05.054 Alarm[3229:87627] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attempt to insert non-property list object (
"<AlarmObject: 0x7ff4807ecd80>"
) for key MyAlarms'
why is this so?? I searched this error and I don't understand because I am saving an array in NSUserDefaults.