无法分配'[Session]类型的值?输入'[会话]?'

时间:2016-05-06 21:33:09

标签: swift

我不明白这个错误,因为它说我无法在赋值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()
} 

任何人都可以解释为什么会这样吗?类型似乎正确,错误似乎没有效果。

2 个答案:

答案 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