Вы устанавливаете текст дважды, но я предполагаю, что это была только часть вашей отладки проблемы, верно?
Эти две строки являются избыточными:
val.text = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%3.0f", [localSlider value]]];
[val setText:[NSString stringWithFormat:@"%3.0f", [localSlider value]]];
Попробуйте поставитьвойдите туда ради тестирования, замените эти два на:
NSString *valString = [NSString stringWithFormat:@"%3.0f", [localSlider value]];
[val setText:valString];
NSLog(@"val: %@, valString: %@", val, valString);
Я предполагаю, что val покажет как nil.