Могу ли я сделать массив массивов? - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь создать массив внутри массива внутри массива. Затем используйте UIPickerView с 3 компонентами, каждый для соответствующего массива. Причина, по которой я использовал массивы, заключается в том, что данные организованы следующим образом:

var array1 = [
     "2"
[       "2"
           ["2.5","2.5"],
        "1-1/12"
           ["2.5","2.375"]],
     "3"
[       "2-1/2"
           ["3.375", "3.25"],
[       "2"
           ["3.375", "3"]]]

Я пытался создать словари для вызова (проще для UIPickerView), но комбо [(key: value)] не будетработа с кортежами.

var dict: [(size: String, outlets: (outlet1: String, measure1: String, measure2: String))] = [
("2", ("1-1/2","2.5","2.375"))
]

func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 3
}

Мало информации о массивах внутри массивов или диктов внутри диктов.

Исходные данные взяты из диаграммы, которая выглядит следующим образом:

          --> outlet1 --> value1, value2
size1 --> --> outlet2 --> value1, value2
          --> outlet3 --> value1, value2

          --> outlet1 --> value1, value2
size2 --> 
          --> outlet2 --> value1, value2

Розетки могут быть такими же String, что и размер.

1 Ответ

0 голосов
/ 10 ноября 2019

Я думаю, что вы пытаетесь сделать это:

Вам нужен словарь, в котором key - это строка, а value - это пользовательская структура, содержащая выход и две меры.

Начните с создания структуры для пользовательской структуры:

struct Outlet {
    var outlet1: String = ""
    var measure1: String = ""
    var measure2: String = ""
}

, затем создайте outlet и установите его свойства:

var myOutlet = Outlet()
myOutlet.outlet1 = "1-1/2"
myOutlet.measure1 = "2.5"
myOutlet.measure2 = "2.375"

и добавьте их массив всловарь:

var dict = ["2" : [myOutlet]]

или определите словарь и установите значение

var dict: [ String : [Outlet] ]
dict["2"] = [myOutlet]
...