Поведение, которое вы описываете, корректно. Когда вы загружаете настройку с помощью REST API и затем устанавливаете его на @Published
, значение устанавливается, и ваша функция вызывается.
Вы можете добавить переменную в свой класс, которая будет хранить, если выборка завершена. Когда вы извлекаете все свои результаты, вы устанавливаете для него значение true и только тогда разрешаете выполнение функции didSet.
//Set your fetched data previous
var fetchCompleted : Bool = false
//after your api call and fetch result success
fetchCompleted = true
.didSet()
{
if (fetchCompleted)
{
//allow override from variables and store new setting
}
}
Убедитесь, что вы сначала установили переменные с извлеченными данными, а затем установите для fetchCompleted значение true. В противном случае didSet будет вызываться после и fetchCompleted уже будет иметь значение true.