Смешное количество предупреждений в xcode 6 beta 7

В Xcode 6 beta 7 мои предупреждения делятся на два раздела, например, если один называется "мое приложение", другой - "проект моего приложения". Я исправил все предупреждения, которые получил в разделе "мое приложение" (их было только 3-4). Однако в разделе "Мой проект приложения" у меня более 42 000 предупреждений! Так было еще до того, как я написал какой-либо код и создал свой пустой проект. Я всегда предполагал, что это бета-версия, но я хотел бы знать, испытывают ли все остальные то же самое. Я не могу даже посмотреть, в чем проблема, поскольку XCode зависает, когда я пытаюсь из-за подавляющего числа предупреждений.

2 ответа

Решение

Примечания к выпуску содержат некоторые детали ошибок, по-видимому, эволюция Swift:

http://adcdownload.apple.com//Developer_Tools/xcode_6_beta_7_apzr94/xcode_6__beta_7_release_notes.pdf

Из примечаний к выпуску:

Свифт Язык

• Большое количество API-интерфейсов Foundation, UIKit, CoreData, SceneKit, SpriteKit, Metal было проверено на предмет необязательного соответствия, удаляя значительное количество неявно развернутых опций из их интерфейсов. Это разъясняет обнуляемость их свойств, аргументов и возвращаемых значений их методов. Это постоянные усилия, которые начали поставляться в бета-версии 5.

Эти изменения заменяют T! с любым T? или T в зависимости от того, может ли значение быть нулевым или не нулевым, соответственно. Если вы обнаружите случай, который был изменен неправильно, пожалуйста, подайте радар и включите тег "#IUO" в строке темы. Пожалуйста, не отправляйте запросы об особенностях API, которые все еще помечены как T!, мы знаем о них.

Если вы столкнулись с методом, для которого возвращаемое значение неправильно считается ненулевым, или со свойством, которое неправильно считается ненулевым, вы можете обойти эту проблему, немедленно обернув результат в необязательный:

  var fooOpt: NSFoo? = object.reallyMightReturnNil()
  if let foo = fooOpt { ... }

У меня не было подобных проблем ни в одном из выпусков, включая Xcode 6 Beta 7. В каждом бета-выпуске я обычно получаю около 100 или около того ошибок из-за изменений в синтаксисе, но на прохождение у них уходит всего около получаса и решить.

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