Как добавить "Не выбрано" или "Выберите свою страну" в County Picker (Swift)?

swift
ios

#1

Привет всем.

У меня есть код, который создает переключатель стран и позволяет пользователю выбрать свою страну. Но проблема в том, что первая страна - Аргентина, и пользователь не может выбрать ее напрямую. Пользователь должен прокрутить страницу вниз и снова вверх, чтобы иметь возможность выбрать Аргентину.

Я хочу добавить просто строку над Аргентиной, чтобы пользователь был вынужден прокрутить вниз, чтобы выбрать Аргентину.

Надеюсь, я хорошо объяснил свою проблему.

 @IBAction func chooseCountryClicked(_ sender: Any) {
                
        let alert = AlertFactory.alert(title: AvaCarLocalizedString.getLocalizedString("choose_country"),
                                       pickerStrategy: CountryPickerStrategy(withInitialCode: selectedCountryCode),
                                       delegate: self)

        self.present(alert, animated: false, completion: nil)
    }
func setNewCountry() {

        if let safeCode = selectedCountryCode {
            CountryLanguageManager.shared().setCountry(safeCode.lowercased())
            CountryLanguageManager.shared().setCountryChosen(true)
            MobilityPlatformManagerHolder.updateServiceLinks()
        }
    }
class CountryPickerStrategy: PickerStrategy {
        
    var countries: [Country] = CountryLanguageManager.shared().getAllCountriesToDisplay()
    
    let fontSize: Double

    let initialcode: String?

    init(withInitialCode: String?) {
        fontSize = CountryPickerStrategy.calculateFontSize()

        initialcode = withInitialCode
    }

#2

Присвой дефолтное значение для переменной.
Страна = Аргентина
Которое буден меняться при прокрутке барабана. Ну а если барабан не крутится останется Аргентина


#3

Проблема в том, что первой страной является Аргентина. И когда я открываю спиннер, он открывается, но когда я нажимаю “OK”, он выбирает Аргентину. Я должен прокрутить вниз, а затем снова вверх до Аргентины, чтобы выбрать ее.


#4

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


#5

VIDEO

Я загрузил видео и поделился здесь ссылкой.


#6

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

let countryList = [...]
var selectedCountry: ... = "Argentina"

При первом заходе на экран и нажатии на кнопку, у вас передастся дальше значение Аргентины.

Или так

let countryList = [...]
var selectedCountry: ...!

func viewDidLoad() {
...
selectedCountry = countryList.first
}