Как заставить ваш API работать только тогда, когда отображается представление контейнеров? - PullRequest
0 голосов
/ 09 октября 2019

Я использую 5 контейнерных представлений внутри одного контроллера представления. Все контейнеры имеют одинаковый размер (одинаковую ширину и одинаковую высоту). Разные API выполняются для разных представлений контейнера.

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

Пример. При нажатии первой кнопки ContainerViewOne имеет видпоказано, а остальные скрыты.

Проблема, с которой я сталкиваюсь, заключается в том, что, когда контроллер представления загружен, все API-интерфейсы во всех представлениях контейнера вызываются одновременно. Я хочу, чтобы он запускался, когда отображается вид контейнера. Может ли кто-нибудь помочь мне с тем же?

1 Ответ

1 голос
/ 09 октября 2019

Попробуйте это

Я думаю, вы найдете что-то вроде этого.

1) создайте функцию APICaliing и перезагрузки данных в yourContainerViewController.

2) Найдите yourContainerViewController из YourMainViewController childViewControllers.

3) вызовите функцию APICalling.

@IBAction func btnClickEvent(_ sender: UIButton) { 

    //Find yourContainerViewController from your all childViewControllers
    for vcObj in self.childViewControllers{
        if vcObj.isKind(of: yourContainerViewController.self){
            // Here your api call and reload data inside this function
            // apiCallFunction() Function create in you yourContainerViewController and put api calling and data reload code in this function.
            (vcObj as! yourContainerViewController).apiCallFunction() 
            break
        }
    }

}

Рад помочь вам:)

...