Я определяю свои viewModels в отдельных файлах как struct
s, когда я пытаюсь создать экземпляр этого 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()
- В новой строке вызовите структуру и будет показано автозаполнение!, теперь вы можете удалить первое.
Я не знаю, почему это произошло, но, возможно, компилятор после первой строки распознает, что в этой структуре отсутствуют аргументы, поэтому они появятся, когда эта же структура будет использоваться позже...
profile
иProfile
- person vadian   schedule 26.09.2018profile
, но когда я отправил вопрос, я понял, чтоp
мало, поэтому я изменил его на заглавную букву, не обновляя скриншот. - person mojtaba al moussawi   schedule 26.09.2018