Как говорит Мэтт в своем комментарии, вы знаете, какая ячейка была выбрана в вашем методе didSelectRowAt()
. Вы извлекаете URL-адрес из вашей модели данных, используя выбранную пользователем строку, извлекаете некоторые данные из этого URL-адреса и затем перетаскиваете эту информацию на этаж.
Вместо этого создайте переменную экземпляра в вашем контроллере представления userSelectedRow иустановите его в вашем методе didSelectRowAt (). Затем, в вашем prepareForSegue, используйте выбранную строку, чтобы получить необходимую информацию и передать ее в целевой контроллер представления.
РЕДАКТИРОВАТЬ:
Или, как предлагает Мэтт, ничего не сохранять,Оставьте выбранную строку и в prepare(for:)
запросите представление таблицы для выбранной строки и используйте ее для извлечения данных.
Кстати, если URL-адрес удаленного сервера, вам следует не читать, используя Data(contentsOf:)
. Это синхронный вызов, который блокирует ваш пользовательский интерфейс до его завершения. Вы можете заставить ваш пользовательский интерфейс зависать до 2 минут, пытаясь прочитать данные с удаленного сервера с помощью этого вызова. (И это приведет к тому, что ваше приложение будет убито как не отвечающее.)