У меня есть массив типа «drugList», и они являются производными от структуры «DrugsLibrary»:Как создать словарь из массива объектов в swift 2.1?
struct DrugsLibrary {
var drugName = ""
var drugCategory = ""
var drugSubCategory = ""
}
var drugList = [DrugsLibrary]()
//This is the dictionary i'm trying to build:
var dictionary = ["": [""," "]]
Моя модель данных инициализируется с помощью этой функции:
func createDrugsList() {
var drug1 = DrugsLibrary()
drug1.drugName = "drug1"
drug1.drugCategory = "Antibiotics"
drug1.drugSubCategory = "Penicillins"
self.drugList.append(drug1)
var drug2 = DrugsLibrary()
drug2.drugName = "drug2"
drug2.drugCategory = "Antibiotics"
drug2.drugSubCategory = "Penicillins"
self.drugList.append(drug2)
var drug3 = DrugsLibrary()
drug3.drugName = "drug2"
drug3.drugCategory = "Antibiotics"
drug3.drugSubCategory = "Macrolides"
self.drugList.append(drug3)
}
моя проблема заключается в том, что Я пытаюсь создать словарь из DrugList, где ключом является drugSubCategory, и значение - это название препарата. Значение должно быть массивом, если есть несколько препаратов в этой подкатегории , например, словарь должен выглядеть примерно так для этого примера:
dictionary = [
"Penicillins": ["drug1","drug2"]
"Macrolides": ["drug3"]
]
Я попробовал этот метод:
for item in drugList {
dictionary["\(item.drugSubCategory)"] = ["\(item.drugName)"]
}
это дало словарь, как это, и он не мог добавить drug2 к «Penicllins»:
dictionary = [
"Penicillins": ["drug1"]
"Macrolides": ["drug3"]
]
Так что я пытался добавить элементы в словарь, используя этот метамфетамин спосо но ничего не добавлять, потому что не было никаких общих элементов с ключом ""
в модели данных:
for item in drugList {
names1[item1.drugSubCategory]?.append(item1.drugName)
}
Любой знает способ добавляемых drug2 в словарь?
Буду признателен за любую помощь или предложение по этому вопросу.
Чувак это просто потрясающе !!!! Ваше решение сработало. Я пытаюсь решить это для дней! Спасибо, тонна! –
Добро пожаловать! Это была забавная головоломка для решения. –