Как сделать модель доступной между всеми ВК в Swift?

Я знаком с ООП, но новичок по-быстрому. Я начал довольно амбициозный проект с корзиной покупок и мне нужна помощь в структурировании классов.

Моя идея состоит в том, чтобы создать класс "cart", который включает в себя класс "order", который снова включает в себя структуру "orderHeader" и массив структуры "orderItems"

Из разных ВК мне нужно иметь возможность обновлять любые товары в корзине или информацию в заголовке заказа. Где я должен создать экземпляр класса корзины и его переменных, чтобы он был доступен во всех VC?

Всего 1 ответ


Вы можете создать структуру для хранения всех глобальных переменных и других данных

Class CommonData{
        public static var liveCart:Cart? //anything do you want to store globally in app
        public static var loginUser:User?
}

тогда вы можете изменить или получить данные из любого места в вашем приложении

CommonData.cart?.setTotal(total:100.00) //add data to the cart using mutable functions
CommonData.cart?.total //get data from cart

это образец структуры для корзины

struct Cart{
     let id:Int
     .
     .
     .
     var subTotal:Double
     var total:Double

        //this is the mutable function. this is similar to encapsulation setter in OOP
        mutating func setTotal(total:Double){
             self.total = total
        }
    }

Есть идеи?

10000