Данные для UiTableView с разделами + UISegmentControl - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть табличное представление и сегментированный элемент управления в контроллере представления, так что табличное представление перезагружает данные на основе индекса сегмента, когда пользователь переключается на другой сегмент. И данные для этого хранятся в двумерном массиве, как это

var data = [
        ["Soccer",       "Golf",      "Basketball",    "AmericanFootball",
         "Baseball",     "Tennis",    "Valleyball",    "Badminton"],
        ["Apple",        "Pear",      "Strawberry",    "Avocado",
         "Banana",       "Grape",     "Melon",         "Orange",
         "Peach",        "Kiwi"]
    ]

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

1 Ответ

0 голосов
/ 02 ноября 2018

Вы можете создать

struct Item {
   let title:String
   let arr:[String]
}

Тогда

let data  = [ Item(title:"First",arr: ["Soccer","Golf","Basketball", "AmericanFootball","Baseball","Tennis","Valleyball","Badminton"]) , 
             Item(title:"Second",arr: ["Apple","Pear" ,"Strawberry","Avocado","Banana", "Grape","Melon","Orange","Peach", "Kiwi"])
]

Чтобы сделать контент для каждого сегмента

let data : [[Item]] = [ [ Item(title:"Section 1 seg 1",arr: ["Soccer","Golf","Basketball", "AmericanFootball","Baseball","Tennis","Valleyball","Badminton"]) , 
             Item(title:"Section 2 seg 1",arr: ["Apple","Pear" ,"Strawberry","Avocado","Banana", "Grape","Melon","Orange","Peach", "Kiwi"])
   ] ,

 [ Item(title:"Section 1 seg 2",arr: ["Soccer","Golf","Basketball", "AmericanFootball","Baseball","Tennis","Valleyball","Badminton"]) , 
             Item(title:"Section 2 seg 2",arr: ["Apple","Pear" ,"Strawberry","Avocado","Banana", "Grape","Melon","Orange","Peach", "Kiwi"])
  ]
]
...