Глядя на XCTWaiter (). Wait (...) Я считаю, что мы можем дождаться, пока множественные ожидания станут реальностью, используя этот код.
let notHittablePredicate = NSPredicate(format: "hittable == false")
let myExpectation = XCTNSPredicateExpectation(predicate: notHittablePredicate, object: element)
let result = XCTWaiter().wait(for: [myExpectation], timeout: timeout)
//for takes array of expectations
Но здесь используется как AND среди предоставленных ожиданий. Есть ли способ сделать ИЛИ среди предоставленных ожиданий.
Например, у меня есть вариант использования при входе в систему, когда после нажатия кнопки «Отправить» я хочу дождаться одного из двух элементов. Первый элемент: «Вы уже вошли в систему на другом устройстве. Если вы продолжите, любые несохраненные данные на другом устройстве будут потеряны?». И второй элемент - это главный экран после входа в систему. Так что может появиться любой. В настоящее время я сначала жду первого элемента, пока не истечет время ожидания, а затем второго элемента. Но я хочу оптимизировать время здесь и двигаться дальше, как только любой из двух элементов существует == true. Затем я проверю, существует ли element1, затем нажмите ДА, а затем дождитесь главного экрана, иначе просто подтвердите существование element2.
Прокомментируйте, если в вопросе что-то неясно. Спасибо