所以我看起来一个结构和词典这样的:夫特删除元素,然后从数组中删除相同元件字典的内部
struct minStruct {
var labelText:String?
var descText:String?
var imaginator:UIImage?
var rea:String?
var url:NSURL?}
var dict = [String:[minStruct]]()
因此,我与字典值作为结构数组。在我的应用程序创建字典里面的所有结构的数组,以便能够显示一个的tableView,这是由该代码所做的结构:
let dictValues = Array(dict.values)
let dictFlat = Array(dictValues.flatten())
新阵列dictFlat用于填充的tableView,因为它包含原始字典中包含的每个结构。如果我想从tableView中删除结构,我当然会将其从数组dictFlat中移除,但是我需要从原始字典(dict)中删除相同的结构以实现我想要的结果。所以我的问题是如何从字典词典中删除从数组dictFlat中删除的相同结构。为了澄清,你可能在你这个例子:
dict = ["Food":[minStruct(labelText: "this is a string", descText: "Also a string", imaginator: UIImage(named: "image-name")!, rea: "also a string", url: NSURL(string: "https://www.google.com")]]
现在dictFlat将包含上述字典里面显示的结构,现在我想删除这两个结构。使用swipe从tableView中删除,将被删除的唯一结构是dictFlat中的一个(使用indexPath删除,就像通常从tableView删除时一样)。现在我想从原始字典(dict)中删除从dictFlat和tableView中删除的相同项目。所以我想要的是检查dict是否包含从dictFlat中删除的结构,如果它包含它,它将被删除。
我希望我已经够清楚了,谢谢!
几乎我所需要的,我认为是不够清楚。我想要从数组中删除(你叫arr的那个)结构(或者你的情况下是int)。在得到那个特定的结构体之后,我想检查它是否存在于dict中,如果存在,我想删除它。我想补充一点,我对swift很陌生,所以我对这些方法并不熟悉,但我想要一个方法来检查字典是否包含某个结构,并且如我所说,如果它包含它,我希望它被删除。对于我不清楚的解释方式感到抱歉。 –
此外,我不希望结构被删除的数组只是来自字典中的一个值的数组(不仅是结构数组之一)。看看我创建数组dictFlat的问题,你可能明白我的意思。 –
markus不要做任何不必要的工作!你的表源是一个arr。如果您修改了arr,请更新您的字典。这就是你所需要的。你不需要检查什么...... – user3441734