Как сделать модель доступной между всеми V C в Swift? - PullRequest
0 голосов
/ 24 марта 2020

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

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

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

1 Ответ

0 голосов
/ 24 марта 2020

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

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
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...