Подтвердить что ты не робот

Какова точка входа быстрого выполнения кода?

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

4b9b3361

Ответ 1

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

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

Ответ 2

В файле AppDelegate.swift вы можете увидеть @UIApplicationMain.

AppDelegate - это начальный файл ввода.

В принципе: main.m и AppDelegate.m как-то слиты в Swift только AppDelegate.swift

Ответ 3

Возможно, вы захотите прочитать Файлы и инициализация

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

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

В качестве альтернативы вы можете ссылаться на реализацию основного текста, написанного в Objective-C, обычно при постепенной миграции проектов из Objective-C в Swift.