Как создать динамичный купертиносвитч во Флаттере

#flutter

Вопрос:

Я пытаюсь создать купертиносвитчи в приложении. Количество переключателей неизвестно, поэтому я использую gridview.builder. Как установить значение каждого из них? Я использовал карту и контейнер, и мне не нужно управлять их текущими значениями, но теперь я должен.

В результате я не знаю, как создавать динамические переключатели. Заранее спасибо

Вот моя предыдущая работа

         SizedBox(
             child: Column(
               children: [
                 GridView.builder(
                     physics: const NeverScrollableScrollPhysics(),
                     shrinkWrap: true,
                     itemCount: 4,
                     gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                         childAspectRatio: 2, crossAxisCount: 2),
                     itemBuilder: (context, index) {
                       return GestureDetector(
                         onTap: () {
                           // print(sensorData.relay_1);
                           Set(SId, "MId", index);
                         },
                         child: Card(
                           elevation: 4.0,
                           child: SizedBox(
                             width: 50,
                             height: 125,
                             child: Center(
                               child: Text("Relay "   index.toString()),
                             ),
                           ),
                         ),
                       );
                     })
               ],
             ),
           )