У вас есть правильная основная идея, но вместо сохранения только массива NSNumbers все, что вам нужно сделать, это сохранить массив NSDictionaries.
Так что оставьте свой NSMutableArray таким, какой он есть, и просто добавьтебаллы за него:
NSDictionary *score = [NSDictionary dictionaryWithObjectAndKeys: theName, @"name", [NSNumber numberWithFloat:finalScore], @"finalScore", nil];
[scoresList addObject: score];
ScoreList по-прежнему будет правильно записывать свой список, потому что массив NS [Mutable] содержит словари, которые содержат только цифры и строки, и они знают, как записать себя в список.(см. NSCoder).
Когда вы читаете свой массив, -objectAtIndex: i будет NSDictionary, и вы можете получить имя с помощью -objectForKey: @ "name" и счет с помощью -objectForKey: @"finalScore".