Я новичок в программировании на iOS, очевидно, новичок в Swift (как новый), и в лучшем случае в целом в программировании за последние 35 лет. Тем не менее, я работал в течение последних 20 лет в качестве менеджера мультидисциплинарных команд, которые включают программистов, и в результате я понимаю множество фундаментальных концепций разработки программного обеспечения. Я предоставляю эту информацию для контекста.iOS Swift: UITapGestureRecognizer and Storyboard
Я работаю над приложением для базы данных для класса и добавляю множество функций по своему выбору, чтобы улучшить свой собственный опыт обучения. Я вчера хотел разрешить пользователям использовать UIImageView для выбора нового изображения для записи в базе данных. Я добавил Recognizer жесткого диска в UIImageView и подключил IBAction к соответствующему контроллеру представления, а затем добавил println() в IBAction, чтобы проверить, распознается ли он. Отводы на UIImageView не производят Println(), и я был разочарован, так что я посмотрел вокруг на трубках для некоторых подсказок и нашел некоторые примеры кода для программного признать кран:
let recognizer = UITapGestureRecognizer(target: self, action: Selector("didTap:"))
recognizer.delegate = self
view.addGestureRecognizer(recognizer)
Это работало лечить, как они сказали. Я был расстроен, однако, поскольку я видел много ссылок на идею о том, что код не нужен, если я использую раскадровку. После нескольких экспериментов с тестовым проектом я в конце концов обнаружил, что UIImageView должен был включить «Взаимодействие с пользователем» в Инспекторе атрибутов (не по умолчанию) для распознавания взаимодействия с пользователем, что в ретроспективе имеет смысл.
Мой вопрос (наконец!) Заключается в том, является ли различие между двумя подходами стилистическим или есть ли причина, чтобы сделать это программно над реализацией через раскадровку. Для исполнения или делегирования или иным образом. Я могу, например, увидеть, что я могу вставить код распознавания в оператор if. Есть ли другие причины?
Этот вопрос слишком теоретический для этого формата?
Благодарим вас за ответ! –
Отсутствие активности по этой теме заставляет меня поверить, что ответ «личный стиль». Я отмечу, что он ответил. Благодаря! –