Похоже, Чак заметил проблему. Хотя при кодировании вашего решения вы должны знать одну вещь: вам следует избегать хранения автоматически выпущенного экземпляра NSArray в статической переменной. Кроме того, в этих ситуациях обычно используется метод класса, который создает и возвращает значение, хранящееся в статической переменной, например:
+ (NSArray *)currencies
{
static NSArray *_currencies;
// This will only be true the first time the method is called...
//
if (_currencies == nil)
{
_currencies = [[NSArray alloc] initWithObjects:@"Dollar", @"Euro", @"Pound", nil];
}
return _currencies;
}