我有这样的问题:
class Datagetterclass {
var datatest = [ "Detergent" :
[ "tazh" , "Golrang" , "something" ] ,
"Drinks" :
[ "hype" , "RedBull" , "Sprite" , "Coca" ],
"SmallStuff" :
[ "Gum" , "Pastil" , "Chips" , "Olive" , "Sausage" ]
]
我使用这个类的元素制作了一个tableview,它工作正常 但是当我想要激活刷卡删除功能,因为这个字典没有索引路径时我不能使用“删除索引”方法。我该怎么做 ???
实际上我曾尝试使用“remove at index(indexpath.row)”并面对此错误:
无法将'Int'类型的值转换为预期的参数类型'DictionaryIndex'(又名'DictionaryIndex>')
答案 0 :(得分:0)
字典是无序集合。它们不采用整数索引。它们不是成为表视图数据源的好选择。
关于使用字典作为表视图的数据源的唯一方法是使用keys
方法构建所有键的数组(如果它是NSDictionary,则为allKeys
比起Swift Dictionary),在启动时,然后使用tableview行索引到键数组并获取相应的字典条目。这种方法仍然不好,因为从一次运行到下一次运行,keys
方法可能会以不同的顺序返回字典键。
对于分段表视图,您应该使用字典数组(对于单个节表视图)或字典数组数组。