Проблема здесь может быть одна (или обе) из двух вещей:
1 ... Вы возвращаете nil из метода willSelectRowAtIndexPath. Если вы не хотите, чтобы пользователь мог касаться ячеек, просто не переопределяйте этот метод, то есть вообще не трогайте его. Наряду с этим в методе cellForRowAtIndexPath вы можете сделать:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
, чтобы убедиться, что ячейка даже не выделяется, когда пользователь нажимает на нее.
2 ... То, как вы инициализировали массив gameTimingTable, означает, что он автоматически высвобождается после того, как вы его создали, поэтому к нему нельзя получить доступ в другом месте кода. Вместо этого инициализируйте его одним из следующих способов:
gameTimingTable=[[NSArray arrayWithObjects:@"2min + 10sec/coup",@"1min + 15sec/coup",@"5min",nil] retain];
// OR ...
gameTimingTable=[[NSArray alloc] initWithObjects:@"2min + 10sec/coup",@"1min + 15sec/coup",@"5min",nil];
... но не забудьте освободить массив в методе dealloc:
- (void)dealloc {
[gameTimingTable release];
[super dealloc];
}