如何从一个从嵌套字典中获取数据的tableview中删除一行?

时间:2016-05-31 20:18:23

标签: ios uitableview

我有这样的问题:

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>')

1 个答案:

答案 0 :(得分:0)

字典是无序集合。它们不采用整数索引。它们不是成为表视图数据源的好选择。

关于使用字典作为表视图的数据源的唯一方法是使用keys方法构建所有键的数组(如果它是NSDictionary,则为allKeys比起Swift Dictionary),在启动时,然后使用tableview行索引到键数组并获取相应的字典条目。这种方法仍然不好,因为从一次运行到下一次运行,keys方法可能会以不同的顺序返回字典键。

对于分段表视图,您应该使用字典数组(对于单个节表视图)或字典数组数组。