所以我看起來一個結構和詞典這樣的:夫特刪除元素,然後從數組中刪除相同元件字典的內部
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