提出问题的新方法。我觉得很清楚,但很明显 不。 :-D第二次机会。
我使用SWXMLhash从网站获取信息。对于每个网站,我需要一个不同的结构,因为每个网站的数据结构是不同的。
我有一个很好的工作功能(使用1个网站作为来源),我想根据所选网站转换为一般功能。
到目前为止我得到的最佳解决方案(见下面的代码)给我一个编译错误:
TorrentProviderItem = try xmlTorrent["rss"]["channel"]["item"].value()
编译错误=对成员'下标'的模糊引用
功能代码:
private func setResultsToEqualData(result: String, Torrentprovider: TorrentProviders) {
var TorrentProviderItem: [XMLIndexerDeserializable]
var xmlTorrent: XMLIndexer!
xmlTorrent = SWXMLHash.parse(result)
switch Torrentprovider {
case .ExtraTorrent:
TorrentProviderItem = [ExtraTorrentItem]()
default:
TorrentProviderItem = [Torrentz2Item]()
}
do {
TorrentProviderItem = try xmlTorrent["rss"]["channel"]["item"].value()
} catch {
print("FOUT in torrent!!")
return
}
selectBestResult()
}
我不知道如何解决这个问题。还有谁?
ps在我使用的1个网站的原始功能中:
var TorrentProviderItem: [ExtraTorrentItem]
并且没有开关,这样可以正常工作。
答案 0 :(得分:0)
有些人向我展示了结构中函数的选项。所以我用它来构建一个变通方法。我在每个网站的每个结构中编写了一个函数,每个函数的返回值具有相同的数据类型。
对我而言,这是一种解决方法,而不是解决方案。我仍然需要将每个网站添加到该功能中(见下文)。
viewControllers
我认为创建一般功能的解决方案在Strucs中。为所有网站使用一个结构而不是每个网站的结构。我只是不知道该怎么做。射流。