идентификатор специального типа, который может содержать любой объект. Нюанс в том, что у вас нет четко определенной безопасности типов. Вы можете вызвать любой селектор для любого объекта, и если он существует, он будет вызван.
В V001 выполнение [значения ползунка] вместо [значения отправителя] имеет более логичный смысл, который, я думаю, вероятно, почему вы в первую очередь занялись рефакторингом, потому что он не вызывается.
В V002 [значение отправителя] извлекает свойство float того же UISlider, но скрывает тот факт, что вы, возможно, не получаете объект-слайдер, и это может быть на любом объекте.
Это вопрос стиля и дискриминации. Я довольно усердно работаю в своем собственном коде, чтобы определить, к какому конкретному объекту я пытаюсь получить доступ к селектору, и даже захожу до того, что вызываю isKindOfClass и проверяю, вызываю ли я селектор для правильного объекта UISlider. Чтобы ответить на ваш нижеследующий вопрос: тип объекта не исключен, как это должно быть при использовании id.
Почему? Я хочу, чтобы несколько слайдеров в одном представлении обрабатывали событие слайдера, я не хочу, чтобы один слайдер влиял на данные обоих, даже если я хочу обрабатывать их одинаково.