В обновлении Swift 1.2 улучшили компилятор и взаимодействие с Objective-C

swift-iphone6

Самый новый язык программирования Apple — Swift, получил существенное обновление вместе с первой на сегодня бета-версией X-Code 6.3. Бета-версия Swift 1.2 включает улучшенный компилятор, который стал быстрее и стабильнее, а также новые варианты взаимодействия с Objective-C (язык программирования, который использовался ранее, для создания iOS приложений) для того, чтобы создавать гибридные приложения.

Вот что нового появилось в компиляторе:

* Дополнительные сборки — Исходные файлы, которые не были изменены, теперь не будут рекомпелироваться по умолчанию. Это существенно ускорит процесс создания сборки в большинстве случаев. Более крупные структурные изменения кода все же будут требовать нескольких файлов для восстановления.

* Более быстрые исполнители — Сборки без багов производят двоичные файлы, которые запускаются существенно быстрее, а также новая оптимизация позволяет добиться лучшей производительности.

* Улучшенная диагностика компилятора — Более ясные предупреждения об ошибках, а также новые Fix-it помогут вам писать правильный код на Swift 1.2.

* Улучшение стабильности — Наиболее распространённая причина падения компилятора была устранена. Так же вы будете гораздо реже встречать предостережения SourceKit в редакторе X-Code.

Кроме улучшений в компиляторе сам язык Swift 1.2 был также улучшен:

* as! для сценариев, которые могут выдать ошибку — Сценарии, которые могут выдать ошибку во время запуска теперь обозначаются оператором «as!», чтобы дать понять кодировщику то, что эти сценарии потенциально содержат ошибку.

* Значение переменной Null теперь может быть выражено с помощью заголовочных файлов Objective-C — Новое расширение Objective-C для Clang позволяет выражать значение переменных указателей и блоков как Null в вашем Objective-C API. Таким

образом вы можете совмещать два языка, что позволит вам создавать замечательные проекты.

* Перечисления Swift теперь могут быть экспортированы в Objective-C с помощью атрибута @objc.

* let-константы теперь более значительные и последовательные — Суть нового правила в том, что теперь let-константы нужно инициализировать перед использованием (так же, как и var), к тому же требуется именно инициализация, а не переназначение или видоизменение.

* Более мощная возможность разворачивания с помощью if let — Конструкт if let теперь дает возможность разворачивать разные переменные одновременно, кроме того она может включать в себя вмешательство в логические условия кода. Это позволит выражать условное управление потоком без лишних кодовых вложений.

* Новая нативная Set структура данных — Неотсортированная выборка уникальных элементов, которая совмещается с NSSet и обеспечивает семантику значений как это делает Array или Dictionary.

Так как речь идет о бета-версии Swift 1.2, соверешено не исключено, что эти функции будут видоизменятся и дополняться со временем, так же, они могут пока что некорректно работать. Но если вы состоите в программе бета разработчиков, то обязательно взгляните на новые возможности, которые вам дает этот язык программирования.

 

Похожее ...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *