Я работаю в xCode 10.2 с быстрым. Я создал глобальные переменные в моем первом контроллере представления для 6 представлений таблиц. В раскадровке у меня 6 tableViewControllers
. В отдельном быстром файле я создал структуру таблицы для хранения массива и отображения данных в каждой соответствующей ячейке. В каждом контроллере представления в didSelectRowAt
подключается следующее табличное представление. Моя проблема в том, когда я дохожу до последнего представления таблицы. Мне нужно связать URL-адреса веб-сайтов с массивом в пятой таблице. Я все время получаю сообщение об ошибке: не могу преобразовать строку в URL. Пожалуйста помоги!
var fifthArray = [
FifthTableStruct(FifthTitle: ["Energy Guide", "https://www.google.com", "Warranty Page", "Use & Care Guide", "Specification Sheet", "FIT System", "Installation Instructions"]),
FifthTableStruct(FifthTitle: ["Energy Guide", "Warranty Page", "Use & Care Guide", "Specification Sheet", "FIT System", "Installation Instructions"])
]
var sixthArray = [
SixthTableStruct(SixthTitle: ["https://www.whirlpool.com/content/dam/global/documents/201708/EnergyGuide-W11037203-RevA.pdf", "https://www.whirlpool.com/content/dam/global/documents/201708/WarrantyPage-W11037201-W.pdf", "https://www.whirlpool.com/content/dam/global/documents/201708/UseandCareGuide-W11037201-RevA.pdf", "https://www.whirlpool.com/content/dam/global/documents/201711/WL170160A_p2.pdf", "https://www.whirlpool.com/content/dam/global/documents/201901/wash-performance-guarantee-en.pdf", "https://www.whirlpool.com/content/dam/global/documents/201711/InstallationInstructions-W10682737-RevA.pdf"])
]
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let urlString = self.sixthArray[indexPath.row]
if let url = URL(fileURLWithPath: urlString)
{
UIApplication.shared.openURL(url)
}
}
У меня есть код для tableStruct в файле массива отдельно от viewController.
import Foundation
import UIKit
struct SecondTableStruct {
var SecondTitle = [String]()
}
struct ThirdTableStruct {
var ThirdTitle = [String]()
}
struct FourthTableStruct {
var FourthTitle = [String]()
}
struct FifthTableStruct {
var FifthTitle = [String]()
}
struct SixthTableStruct {
var SixthTitle = [String]()
}
URL(string: urlString)
, чтобы преобразовать строку в URL-адрес. - person Rudedog   schedule 18.04.2019SixthArray
относятся к типуSixthTableStruct
, а неString
. Ошибка на вашем скриншоте ясно говорит об этом. На вашем скриншоте определенно не сказано, что «URL-адрес не может быть преобразован в строку». Точный текст ошибок важен, когда вы задаете вопросы. Это означает использование копирования и вставки, чтобы получить их и разместить здесь. - person Rudedog   schedule 18.04.2019