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