2016-01-22 4 views
0

Я хочу создать список свойств для построения графика, используя смежное представление списка.Кортежи в списке свойств Swift

Так что в списке свойств я хочу иметь словарь ([String: Array]). Строкой будет узел, массив будет хранить своих соседей. Внутри массива я хотел бы иметь (String, Int) кортежи, String для соседа, Int для веса (каждый кортеж представляет собой ребро, инцидентное узлу).

Проблема в том, что я не могу иметь кортежи внутри списка свойств. Я мог бы использовать словарь, но, похоже, массив словаря с одним элементом внутри этого словаря не стоит. Какие-нибудь лучшие решения? Благодаря!

+0

Вы не можете сохранить кортежи. Вы уже знаете, что вам нужен набор словарей http://stackoverflow.com/a/34773248/2303865, это сохраняет NSUserDeafults, но вы можете адаптироваться к сохранению в plist. –

+0

@LeoDabus. Да, я хочу использовать plist. Так что другого выбора нет, я должен использовать словарь, содержащий только один элемент? –

+0

К сожалению, да –

ответ

1

Как об этом

let node       = "node" 
let incident      = ("edge1", 12) 
var dictionary:[String:Array<Any>] = [:] 
dictionary[node]     = [ incident.0, incident.1 ] 

Это должно дать вам словарь с строки и массив из ваших кортежей

+0

Спасибо! На самом деле, в конце концов, я не стал создавать плиты. Вместо этого я строю график, используя некоторый вспомогательный класс, который похож на ваш предложенный ответ. :) –

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