В main()
быстром не существует метода. Программа должна откуда-то начинать выполнение. Итак, какова точка входа в быстрое выполнение кода и как это решается?
cocoa-touch
swift
ios8
Селвин
источник
источник
main.swift
нигде не могу найти файл. Где находится этот файл?main.swift
находится в группе Supporting Files и просто настроен для вызоваNSApplicationMain
.main.swift
.В
AppDelegate.swift
файле вы можете увидеть@UIApplicationMain
.AppDelegate - это файл исходной записи.
В основном:
main.m
иAppDelegate.m
будут своего рода объединены вSwift
толькоAppDelegate.swift
источник
Cocoa-Touch
, мой ответ правильный.Вы можете прочитать файлы и инициализация
источник
В приложениях Swift есть атрибуты:
@UIApplicationMain
(Прикосновение какао)@NSApplicationMain
(Какао)которые сообщают быстрому компилятору, где находится точка входа в приложение.
Что делает компилятор swift под капотом, так это то, что он создает
main
функцию, которая в основном выглядит так же, как в приложениях Objective-C, и рассматривает этот метод как точку входа приложения (первый метод, который вызывается при запуске процесса приложения).Если вы хотите узнать больше о том, что делает компилятор Swift с
Main
атрибутами, как ОС знает, где находится точка входа в приложение, я рекомендую вам прочитать эту статью: Понимание точки входа в приложение iOSисточник
В Swift 5.3 есть новый
@main
атрибут, который позволяет вам контролировать, где ваша точка входа находится в вашем проекте, а не простоmain.swift
. Может быть только одна основная запись, и у вас не может бытьmain.swift
файла и атрибута@main
. См. Https://github.com/apple/swift-evolution/blob/master/proposals/0281-main-attribute.md для получения более подробной информации.источник