Похоже, вы игнорируете предупреждающие сообщения, что в Objective-C запрещено.Следующий код не может работать:
[newSongs addObject:[songs:i]]
То, что вы, вероятно, хотели написать, было примерно так:
[newSongs addObject:[songs objectAtIndex:i]]
Но вместо того, чтобы делать все это:
newSongs = [[NSMutableArray alloc] init];
for(int i=0; i < [songs count]; i++) {
[newSongs addObject:[songs:i]]);
}
почему бы просто не сделать это?
newSongs = [songs mutableCopy];