我不明白这个错误,因为它说我无法在赋值self.dados [key] = data [key]上将X的值分配给X.我的代码如下:
class SessionListController: UITableViewController, RepositorySessionsDelegate {
var dados: [String:[Session]] = [String:[Session]]()
func didReturnData<Session>(data: [String:[Session]]) {
let keys = data.keys
self.dados.removeAll()
for key in keys {
self.dados[key] = data[key]
}
self.tableView.reloadData()
}
任何人都可以解释为什么会这样吗?类型似乎正确,错误似乎没有效果。
答案 0 :(得分:0)
我不太了解你的功能。首先是&#34;&#34;会话&#34;&gt;&#34;。其次,您似乎只是想将dados的值换成新数据,为什么不直接将新数据分配给dados?如果您想使用您的功能,只需删除&#34;&lt;&#34; Session&#34;&gt;&#34;。
var dados: [String: [Session]] = [String: [Session]]()
func didReturnData(data: [String: [Session]]) {
let keys = data.keys
dados.removeAll()
for key in keys {
dados[key] = data[key]
}
}
答案 1 :(得分:0)
didReturnData&lt;会话&gt;
您正在使用通用类型&lt;会话&gt;在这种方法中,这种方式在你的方法中的Session与你方法之外的Session不一样。你不能使用&#34;&lt;会话&gt;&#34;这里。
您可以在此处详细了解通用参数:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/GenericParametersAndArguments.html