У меня проблема с падением, когда я пытаюсь добавить объект в массив, я думаю, что у меня есть проблема с тем, как я создаю объект и освобождаю его. Но я не совсем уверен, потому что я все еще немного слаб с управлением памятью
NSMutableDictionary *schools = [[NSMutableDictionary alloc] init];
[schools setObject:name forKey:kFavoriteSchoolName];
//load data is getting data from NSUserDefault which I save
NSMutableArray *loadedArray = [self loadData];
//if loadedarray has object in there, then continue adding schools to it or make new array
if([loadedArray count] > 0)
{
[loadedArray addObject:schools];
> // it crashes here
[schools release];
return loadedArray;
} else
{
//It will add the school to the array for the first time if there is nothing when it loaded.
NSMutableArray *tempArray = [[[NSMutableArray alloc] init] autorelease];
[tempArray addObject:schools];
[schools release];
return tempArray;
}
Эта функция поможет добавить школу в список избранных. Я не могу добавить один раз, но происходит сбой, когда я добавляю его снова.
Это мой код функции loadData
- (NSMutableArray *) loadData
{
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
NSMutableArray *list = [userDefault objectForKey:kSchoolList];
return list;
}
В журнале ничего не сказано, кроме этого: Поток 1: Программа получила сигнал "SGABRT"
когда я впервые запускаю программу и добавляю, все нормально, я снова добавляю школу, потом только она вылетает, вылетает в [загруженный объект-объект: школы];