Автозаполнение инициализатора структуры Xcode 10 не отображается

Я определяю свои viewModels в отдельных файлах как structs, когда я пытаюсь создать экземпляр этого struct в другом файле, автозаполнение членского инициализатора не отображается.

Этой проблемы не было раньше (т.е. Xcode 9), это ошибка в Xcode 10?

Я видел похожие вопросы, такие как Xcode не автозаполняет инициализатор члена Структура

но он старый, и проблема была в Xcode 7 или 8, может быть.

Однако, если я помещу свой struct в файл, который я пытаюсь использовать, будет показано автозаполнение, так в чем проблема?

Я также пробовал .init после имени struct безуспешно.

Вот мои ViewModels:

struct ProfileModels {

    struct ViewModels {


        struct profile{
            let name : URL?
            let positionAndCountry : String?
            let briefDescription : String?
            let hotelInfo : HotelInfo?

        }

        struct HotelInfo{
            let hotelName : String?
            let roomClasification : String?
            let checkInDate : String?
            let checkOutDate : String?
            let isCheckInEarly : String?
            let isCheckInLate : String?
        }

    }
}

введите описание изображения здесь

Обновление:

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

В любом случае, для тех, кто хочет быстрого обходного пути, пока эта ошибка не будет решена, следует использовать следующее:

  • Создайте пустую структуру (пока не беспокойтесь об ошибке)

    пример: ProfileModels.viewModels.profile()

  • В новой строке вызовите структуру и будет показано автозаполнение!, теперь вы можете удалить первое.

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


person mojtaba al moussawi    schedule 26.09.2018    source источник
comment
Несоответствие с учетом регистра: profile и Profile   -  person vadian    schedule 26.09.2018
comment
@vadian, извините за опечатку, нет, это было profile, но когда я отправил вопрос, я понял, что p мало, поэтому я изменил его на заглавную букву, не обновляя скриншот.   -  person mojtaba al moussawi    schedule 26.09.2018
comment
Имея ту же проблему. Раньше это работало отлично.   -  person Nailer    schedule 22.10.2018
comment
столкнулся с той же проблемой. Но у меня он отлично работает, когда вы вызываете его метод инициализации. Например: ProfileModels.ViewModels.profile().init....   -  person Sakshi    schedule 23.11.2018
comment
@Sakshi, я надеюсь на это, но иногда это не работает ... проверьте мой обновленный вопрос, если проблема все еще существует с вами даже при вызове метода инициализации ...   -  person mojtaba al moussawi    schedule 23.11.2018
comment
В основном Xcode просто отстой и делает это много. В огромном проекте вам повезет, если автозаполнение работает.   -  person Kubee    schedule 06.01.2019
comment
@mojtabaalmoussawi Я только что сделал тест с Xcode 10.1, и он работал отлично. Вы пытались обновить до последней версии Xcode? С Уважением.   -  person Jordi Gámez    schedule 22.02.2019


Ответы (1)


Некоторое время в Xcode была ошибка, из-за которой автозаполнение для структур было бы привередливым. У классов никогда не было этой проблемы, но я смог исправить автозаполнение, введя .init после имени структуры, активировав автозаполнение, а затем удалив .init после. Надеюсь это поможет

person Ken Mueller    schedule 16.06.2019