Значение приходит после того, как мой viewWillAppear: вызывается, мне нужно значение до

В моем классе A, когда я открываю приложение, оно вызывает viewWillAppear:, а внутри моего viewWillAppear: у меня есть оператор if. проблема заключается в том, что Support_three_ways_call является логическим значением, которое получает значение непосредственно с сервера, и когда viewWillAppear завершается через 6 секунд, реальное значение поступает с сервера, я пытаюсь найти способ или обновить свое представление через 6 секунд, которые занимают реальное значение, и я не знаю, как это сделать, я хотел бы спросить, есть ли способ обновить представление через несколько секунд или вызвать то же представление из другого класса, чтобы оно исчезло или появилось. Я попытался вызвать свой viewWillAppear из другого класса через 6 секунд, но проблема в том, что он вызывает функцию, но она не работает.

любая помощь ценна.

-(void) viewWillAppear:(BOOL)animated{
 [super viewWillAppear:animated];





    if (Support_three_ways_call){
        keypadEditorView.threewaysbutton.hidden = NO;

    } else {

        keypadEditorView.threewaysbutton.hidden = YES;
    }

}

person Steven    schedule 16.06.2017    source источник
comment
через 6 секунд с сервера поступает реальное значение. Где? какой код для получения значения?   -  person Larme    schedule 16.06.2017
comment
Привет @Larme, Support_three_ways_call - это логическое значение, которое поступает с сервера в виде XML, так как код очень тяжелый. Я написал только ту часть, в которой у меня проблема, у меня нет проблем со значением.   -  person Steven    schedule 16.06.2017
comment
Как вы получаете стоимость вашего сервера? В каком классе? Используете ли вы замыкание, чтобы сообщить своему контроллеру представления? NS-уведомление? НЕ называйте себя viewWillAppear:.   -  person Larme    schedule 16.06.2017
comment
Я получаю значение из класса B, а затем с помощью глобальной переменной передаю значение классу A, чтобы скрыть кнопку или нет.   -  person Steven    schedule 16.06.2017


Ответы (1)


Шаг 1: Добавьте объявленное свойство supportsThreeWayCalls в A.

Шаг 2: Напишите пользовательский сеттер -supportsThreeWayCalls: для реализации.

Шаг 3: Внутри пользовательского установщика установите скрытое свойство кнопки, как вы это делаете.

Шаг 4: Установите это свойство из $whereyoureceivetheresponse.

person Amin Negm-Awad    schedule 16.06.2017