Автозаполнение Xcode 10 Struct Initializer не отображается

Я определяю свои 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?
        }

    }
}

Автозаполнение Xcode 10 Struct Initializer не отображается

Обновлять:

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

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

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

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

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

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

Несоответствие с учетом регистра: profile vs Profile

vadian 26.09.2018 20:39

@vadian, извините за опечатку, нет, это был profile, но когда я разместил вопрос, я понял, что p маленький, поэтому я меняю его на заглавную букву, не обновляя снимок экрана.

mojtaba al moussawi 26.09.2018 20:41

Имея ту же проблему. Раньше это работало отлично.

Nailer 22.10.2018 14:33

сталкивается с той же проблемой, но у меня он отлично работает, когда вы вызываете его метод инициализации, например: ProfileModels.ViewModels.profile (). init ....

Sakshi 23.11.2018 10:54

@Sakshi, я надеюсь на это, но иногда не работает ... проверьте мой обновленный вопрос, если проблема все еще существует с вами, даже с вызовом метода init ...

mojtaba al moussawi 23.11.2018 11:50

По сути, Xcode просто отстой и делает это очень часто. В большом проекте вам повезло, когда автозаполнение работает.

Kubee 06.01.2019 08:42

@mojtabaalmoussawi Я только что провел тест с Xcode 10.1, и он отлично сработал. Вы пробовали обновиться до последней версии Xcode? С Уважением.

Jordi Gámez 22.02.2019 10:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
14
7
588
1

Ответы 1

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

Другие вопросы по теме