Swift 将[AnyObject]插入[NSMutableDictionary]

Swift 将[AnyObject]插入[NSMutableDictionary],swift,cocoa,nstableview,Swift,Cocoa,Nstableview,我正在尝试使用带有两列(一列显示字符串,另一列为每个字符串的复选框)的tableView构建一个应用程序。 字符串来自[AnyObject]变量。 我尝试了很多方法将[AnyObject]的结果插入到NsMutableDictionnary(NsTableView使用)中,但没有一种方法有效。 我必须使用正确数量的对象(与[AnyObject]的结果相关)手动构建dic,以使其工作,但我希望dic自动构建 下面是一个代码示例,如果[AnyObject]由4个元素组成,则可以使用该代码。Table

我正在尝试使用带有两列(一列显示字符串,另一列为每个字符串的复选框)的tableView构建一个应用程序。 字符串来自[AnyObject]变量。 我尝试了很多方法将[AnyObject]的结果插入到NsMutableDictionnary(NsTableView使用)中,但没有一种方法有效。 我必须使用正确数量的对象(与[AnyObject]的结果相关)手动构建dic,以使其工作,但我希望dic自动构建

下面是一个代码示例,如果[AnyObject]由4个元素组成,则可以使用该代码。TableView列名为“作业”和“卸载”:

我想做以下几件事

var x: Int = 0
for lines in ctlelems {
            dataArray = [["jobs": ctlelems[x], "unload": 0]];
            x=x+1
        }
但它不起作用。 大多数情况下,我都会收到“Find nill”错误,或者只显示[AnyObject]的最后一个元素。 有人能帮我吗

dataArray = [["jobs": ctlelems[x], "unload": 0]];
这意味着您需要在每次迭代中重新定义
数据数组
。您应该附加到
dataArray

声明并初始化您的
数据数组

var dataArray = [Dictionary<String, Any>]()
for line in ctlelems {
    dataArray.append(["jobs": line, "unload": 0])
}
或者以更快捷的方式:

dataArray = ctlelems.map { ["jobs": $0, "unload": 0] }

谢谢你的回答。dataArray现在包含所有记录(我使用了第一个示例)。但“println(object)”仅显示一条字段为空的记录:{jobs=”“;unload=0;}。我不知道dic的声明是否正确:var dataArray:[NSMutableDictionary]=[[“作业”:“,“卸载”:0]];。这是正确的吗?为什么“对象”是空的?
dataArray = ctlelems.map { ["jobs": $0, "unload": 0] }