공지사항

  • 안녕하세요, 오뜨입니다 !
ohtt
오뜨네
ohtt
  • 분류 전체보기 (36)
    • iOS (17)
      • iOS (8)
      • swift (4)
      • Reactive (1)
      • swiftUI (4)
    • Algorithm (0)
      • 자료구조 (0)
      • 알고리즘 (0)
      • 문제 (0)
    • 기타 (3)
      • Git (1)
      • Design (1)
      • ETC. (1)
    • 끄적끄적 (9)
      • 회고 (2)
      • 일상 (6)
      • 폰으로끄적임 (0)
    • Books (7)
전체 방문자
오늘
어제

태그

  • swiftUI
  • 힙주비
  • ios
  • discardableResult
  • isHidden
  • SWIFT
  • 회고
  • 책
  • autorenewal
  • iOS16

블로그 메뉴

  • 홈
  • 태그
  • 방명록

최근 댓글

hELLO · Designed By 정상우.
ohtt

오뜨네

[iOS] main.swift 에 대하여 - Command Line Tool
iOS/iOS

[iOS] main.swift 에 대하여 - Command Line Tool

2022. 2. 12. 17:32

코딩테스트를 연습하다보면 Playground를 이용하거나

입력값이 필요한 사이트의 경우 Command Line Tool을 사용하게 됩니다.

 

Command Line Tool 템플릿으로 프로젝트를 생성하면

main.swift 파일이 기본적으로 추가되어 있습니다.

 

처음에는 main.swift 파일에서 문제를 풀고나서

그 다음 문제를 풀 때는 다른 swift 파일을 만들어서 문제를 풀었는데

이런 문장이 뜨면서 error 가 발생했습니다.

Expressions are not allowed at the top level ?

이게 뭐지 ... 뭐지 ... 하고 찾아본 내용을 적어봅니다

 

애플리케이션 진입점 및 "main.swift"
앞서 대부분 의 앱 소스 파일에는 최상위 코드가 허용되지 않는다고 말했습니다. 예외는 "main.swift"라는 이름의 특수 파일입니다. 이 파일은 플레이그라운드 파일과 매우 유사하지만 앱의 소스 코드로 빌드됩니다. "main.swift" 파일에는 최상위 코드가 포함될 수 있으며 주문 종속 규칙도 적용됩니다. 실제로 "main.swift"에서 실행할 코드의 첫 번째 줄은 암시적으로 프로그램의 주요 진입점으로 정의됩니다. 이것은 최소한의 Swift 프로그램이 "main.swift"에 있는 한 단일 라인이 되도록 합니다.

 

사실 조금 어려운 내용인 것 같아서 제대로 이해한 것인지 모르겠지만 
현재의 제가 이해한대로 정리를 해보면 ... 
swift 파일들은 거의 대부분 최상위 코드 가 허용되지 않으나, 
playground 내 파일이나 지금처럼 main.swift 파일 같은 예외 케이스에 한해서 최상위 코드가 허용되는 것 같습니다.

 

여기서 최상위 레벨이라 함은 ... 함수나 클래스 등으로 감싸지 않은 구문이라고 하네요.
그래서 main.swift가 아닌 곳에서 함수를 실행시키면 오류가 떴던 것 같네요

 

만약에 여러분이 여러 코딩테스트 문제들을 하나의 프로젝트로 관리하고 싶으시다면
Command Line Tool 프로젝트 내에 각각의 문제에 해당하는 swift 파일을 만드시고
함수 구현은 그 파일내에서 하시되 함수의 실행은 main.swift에서 해주시면 될 것 같습니다 !

 

 

🔗 참고한 애플 공식문서

https://developer.apple.com/swift/blog/?id=7

'iOS > iOS' 카테고리의 다른 글

[iOS] iOS 16 enable Developer Mode  (2) 2022.09.24
[iOS] 커스텀 폰트, 다국어 폰트 적용하기  (0) 2022.09.04
[iOS] 번역 꿀팁 정리  (0) 2022.08.15
[iOS] Xcode에서 쓰는 주석 정리하기  (1) 2022.06.11
[iOS] isHidden에 대하여  (0) 2022.04.02
    'iOS/iOS' 카테고리의 다른 글
    • [iOS] 커스텀 폰트, 다국어 폰트 적용하기
    • [iOS] 번역 꿀팁 정리
    • [iOS] Xcode에서 쓰는 주석 정리하기
    • [iOS] isHidden에 대하여
    ohtt
    ohtt
    iOS Developer

    티스토리툴바