Поддерживаю вопрос! У меня вообще не запустилось. Кстати, ты откуда template по итогу взял? Скомпилировал или скачал?
та ниоткуда, просто смотрю исходники, все жадные, никто не дает )
Я бы дал, но у меня нет 🥲
как я помню, есть такой прикол, что штуки только со статическими функциями делают енумами чтобы нельзя было создать инстанс ну и еще линт на это ругается по дефолту (если пихнуть это в структуру/класс)
хм, линт это вкусовщина, а вот первый вариант интересный, спасибо
Да, все так. Enum с набором статических функции это достаточно старый способ ограничения области видимости, потому что инстанс енума без кейсов не создать. Вариант со структурой тоже иногда используется, но редко. Короче костыль из-за того, что внутри одного модуля нет скоупов/областей видимости.
ну мейн ведь требует статический метод. то есть, инстанс ему не требуется (да и как, топ левел код при наличии мейна не скомпилится). а где этот статический метод лежит, уже неважно. к нецелевому использованию енумов я уже привык (люди-то хотят неймспейсов). а вообще было бы неплохо иметь возможность повесить @main на метод — типа @main func main() async throws {} и все проблемы решены.
@main struct RBCModernApp: App { var body: some Scene { WindowGroup { ContentView() } } }
Обсуждают сегодня