2015-07-25 3 views
2

Я новичок в Swift. Я пытаюсь создать массив словаря.Создание массива словаря в Swift

var items: [Dictionary<String,Int>] = [] 
var dict1 = ["One" : 1, "Two" : 2 ] 
var dict2 = ["Three" : 3, "Four" : 4] 
var dict3 = ["Five" : 5 , "Six" : 5] 

items[0] = dict1 
items[1] = dict2 
items[2] = dict3 
items 

Но он не инициализируется должным образом. На игровой площадке нет ошибки, но она не принимает dict2 и dict 3. Что в этом плохого. Пожалуйста, поправьте меня.

ответ

4

Если открыть консоль (⇧⌘Y), вы можете увидеть ошибку

fatal error: Array index out of range

Вы должны использовать items.append(dict1) или items.insert(dict1, atIndex: 0) вместо items[0] = ....

+0

Я проверил консоль, никаких ошибок не существует. И почему там должен быть индекс массива вне диапазона. Я помещаю элементы в массив заразительно. Однако items.append() работал для меня. Но я могу объяснить, что случилось с моим путем. – Shubham

+0

Синтаксис присваивания подписок не может использоваться для добавления элементов в массив в Swift (по-видимому). Это то, на что «append». Или вы можете использовать 'insert (_: atIndex:)'. – jtbandes

0

Пожалуйста, попробуйте

items.append(dict1) 
items.append(dict2) 
and so on... 
+0

Такое же решение, как принято один год назад ... – Moritz

Смежные вопросы