Какова точка входа в выполнение swift-кода?



нет main() метод в swift. Программа должна начать выполнение откуда-то. Итак, какова точка входа в выполнение swift-кода и как это решается?

1002   3  

3 ответов:

точкой входа в обычный модуль Swift является файл в модуле под названием main.swift. main.swift Это единственный файл, который может иметь выражения и операторы на верхнем уровне (все другие Swift файлы в модуле могут содержать только объявления).

Cocoa Touch использует @UIApplicationMain атрибут на реализацию UIApplicationDelegate вместо main.swift файл для обозначения точки входа. Какао используется для использования минимального main.swift файл, который просто называется NSApplicationMain, а начиная с Xcode 6.1 использует @NSApplicationMain атрибут на реализацию NSApplicationDelegate.

на AppDelegate.swift файл, который вы можете увидеть @UIApplicationMain.
AppDelegate-это исходный файл записи.

по сути: main.m и AppDelegate.m как бы слились в Swift просто AppDelegate.swift

вы можете ознакомиться файлы и инициализации

исключение составляет специальный файл с именем "main.Свифт", который ведет себя много как файл игровой площадки, но построен с исходным кодом вашего приложения. Этот "главный.swift " файл может содержать код верхнего уровня, а порядок-зависимый правила также применяются. По сути, первая строка кода для запуска "главный.swift " неявно определяется как основная точка входа для программа. Это позволяет минимальную программу Swift чтобы быть одной строкой - пока эта строка находится в " main.стремительный."

в Xcode шаблоны Mac по умолчанию включают " main.Свифт файл", но для приложений iOS по умолчанию для новых шаблонов проектов iOS необходимо добавить @UIApplicationMain в обычный файл Swift. Это вызывает компилятор чтобы синтезировать основную точку входа для вашего приложения iOS, и устраняет нужна " главная.Свифт файл".

кроме того, вы можете связать в реализации main, написанной в Цель-C, распространенная при постепенной миграции проектов из Цель-C для Swift.

Comments

    Ничего не найдено.