Неверное объявление «variable.storage» в Swift 4.2 после обновления до Xcode 10.2 - PullRequest
11 голосов
/ 29 марта 2019

У нас есть проект iOS. Языковая версия Swift - 4.2. Ранее мы создавали его в Xcode 10.1 без ошибок компиляции.

После обновления до Xcode 10.2 (но с сохранением Swift 4.2) проект теперь пронизан ошибками типа Invalid redeclaration of 'variable.storage' (где variable - имя некоторой переменной). Эти ошибки появляются рядом с частными, лениво-инициированными переменными с именами, которые обычно используются в проекте, но не являются переопределениями в своей области; похоже, ошибка связана с частью сообщения storage. Очистка и восстановление не решили проблему. Есть предложения?

РЕДАКТИРОВАТЬ: эти ошибки обнаружились только в двух классах. Была также другая законная ошибка компиляции (новая в Xcode 10.2, но достаточно легитимная), которую я пропустил из-за всех этих ошибок объявления. После недолгой разборки ** я получил ошибки, чтобы уйти. Похоже, ошибка в компиляторе.

** Мои шаги были: (1) удалить первый класс, в котором я получил эти ошибки, (2) создал новый класс с тем же содержимым, что и некомпилируемый, и указал на него ссылки, (3) закомментировал ошибочный класс, (4) нашел и исправил допустимую ошибку компиляции. На этом этапе мне не нужно было возиться с другим классом, который также выдавал ошибки переопределения; код теперь скомпилирован. Итак, (5) вернул первый класс. Таким образом, возможно, что эти ошибки объявления являются просто ошибкой; если вы найдете и исправите все ошибки, связанные с миграцией, надеюсь, вы не увидите ничего из этого.

Ответы [ 2 ]

10 голосов
/ 04 апреля 2019

У меня были такие же ошибки, которые также маскировали некоторые другие ошибки.Как только я исправил другие ошибки, Invalid redeclaration of 'variable.storage' больше не возникало.

0 голосов
/ 10 июля 2019

У меня такая же проблема после удаления фреймворка pod и других ошибок типа. Не могу найти что не так. Попытка с Xcode11 swift5.1 ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...