
기본
⎮ Swift Playgrounds
1. Swift Playgrounds : Apple에서 제공하는 무료 iPad App(mac에서도 사용 가능)
https://www.apple.com/kr/swift/playgrounds/
Swift Playgrounds
인터랙티브 방식으로 재미있게 Swift 코딩을 배울 수 있는 iPad 또는 Mac용 앱, Swift Playgrounds를 소개합니다. 개발자들이 앱 개발에 사용하는 코딩을 배울 수 있죠.
www.apple.com
2. 실행

3. Swift PlayGrounds에서는 가이드를 따라 코딩을 할 수 있음

⎮ For 반복문 학습하기
- For반복문 : 반복해서 코드를 실행하려고 할 때 사용하는 문법

⎮ if 조건문 학습하기
- if 조건 : 조건이 true일 때 코드 실행

⎮ print 명령어 사용하기

실습
⎮ 간단한 계산기 만들기
let number1 = 15
let number2 = 2
let sum = number1 + number2
print("\(number1) + \(number2) = \(sum)")
// 15 + 2 = 17


⎮ 이름 선언하고 print하기
var myName = "uddt"
print("안녕하세요, \(myName)님! Swift Playgrounds에 오신 것을 환영합니다!")
// 안녕하세요, uddt님! Swift Playgrounds에 오신 것을 환영합니다!

□ PlayGrounds에서 print 실행 시 발생하는 컴파일 에러 찾아보기
⎮ + PlayGrounds에서 print 실행 시 발생하는 컴파일 에러
사전캠프의 가이드를 따라 PlayGrounds를 켜고 다음의 코드를 입력했다.
Xcode의 Playground에서는 간단히 실행되는 코드 중 하나가 print였다.
print("Hello Swift")
그러나... 다음과 같은 에러가 발생했다.
Expressions are not allowed at the top level

왜 간단한 코드가 실행되지 않는 것인가.
스타터 과정을 같이 듣고 있는 사람들에게 찾아가 물어봤다.

다른 조 인원들의 답변을 요약하면 다음과 같다.
"운영하는 환경과 버전이 달라서 Blank Playground로 프로젝트를 열 수 없어서 발생하는 오류인거 같아요."
우리 조가 찾은 해결 방법은
코딩 배우기 ⇒ 책 ⇒ Xcode 플레이그라운드 에서 실행하는 방법이다.

이렇게해서 Xcode 플레이 그라운드 안에서 실행하니 오류가 없이 코드를 실행할 수 있었다.
⎮ Expressions are not allowed at the top level에 대해 이해하기
1. Swift의 응용프로그램은 함수, 클래스, 및 응용 프로그램을 구성하는 다양한 선언을 포함한 여러 개의 파일로 구성
2. 이 파일들은 순서에 의존하지 않음
3. Swift 소스 파일에서는 최상위 코드를 사용할 수 없음 (모든 파일에서 최상위 코드를 허용하면 시작 위치를 결정하는 것이 어려워짐)
4. PlayGround는 최상위 코드의 실행을 지원함. 순서에 의존적
5. 단, main.swift 파일에는 최상위 코드를 포함할 수 있으며, 순서에 의존적임
6. Xcode에서 Mac 템플릿은 main.swift를 기본적으로 포함하지만, iOS에서는 @UIApplicationMain으로 인해
main.swift를 사용하지 않음.
결론 : PlayGround에서는 최상위 코드의 실행을 지원하기 때문에 print 명령어를 바로 사용하는 것이 가능함.
만약 Mac에서 'Expressions are not allowed at the top level' 에러를 발견한다면, swift 파일명이 main.swift인지 확인할 것.
'스파르타코딩 클럽 > 사전 캠프' 카테고리의 다른 글
| 6. 스파르타 코딩클럽 [사전캠프 - 조건문 이해하기] (0) | 2025.02.05 |
|---|---|
| 5. 스파르타 코딩클럽 [사전캠프 - 연산자의 이해] (0) | 2025.02.04 |
| 4. 스파르타 코딩클럽 [사전캠프 - 기본 데이터 타입의 이해] (1) | 2025.02.04 |
| 2. 스파르타 코딩클럽 [사전캠프 - Swift와 iOS 생태계 이해하기] (0) | 2025.02.03 |
| 1. 스파르타 코딩클럽 [사전캠프 - OT] (0) | 2025.02.03 |