반응형

스위프트(Swift)는 애플이 개발한 최신 프로그래밍 언어로, iOS, iPadOS, macOS 등 애플 생태계의 앱을 개발하는 데 사용됩니다. 모던한 문법과 강력한 타입 시스템, 그리고 간결한 표현력 덕분에 초보자부터 전문가까지 폭넓게 활용되고 있습니다. 이 글에서는 스위프트 앱 개발을 위한 핵심 요소인 문법 특징, UI 구성 방식, 실전 예제를 중심으로 살펴보겠습 니다.
1. 스위프트 문법 특징 정리 – 안전하고 간결한 언어
let name = "홍길동"
var age = 30
print("나이는 \(age)세입니다.")
- 타입 추론 지원
- 옵셔널로 안정성 확보
- 클로저 및 함수형 기능
var nickname: String? = "길동"
if let nick = nickname {
print("닉네임은 \(nick)입니다.")
}
2. 스위프트 UI 구성 방식 – SwiftUI와 UIKit의 차이
UIKit 예시:
let label = UILabel()
label.text = "안녕하세요"
view.addSubview(label)
SwiftUI 예시:
struct ContentView: View {
var body: some View {
Text("안녕하세요")
.font(.title)
.foregroundColor(.blue)
}
}
- 코드량이 적고 직관적
- 다크모드/애니메이션 지원
- Canvas로 실시간 미리보기
3. 스위프트 실전 앱 개발 예제 – 간단한 ToDo 앱 구현
모델 정의:
struct TodoItem: Identifiable {
var id = UUID()
var task: String
var isCompleted: Bool
}
뷰모델 정의:
class TodoViewModel: ObservableObject {
@Published var todos: [TodoItem] = []
func addTask(_ task: String) {
todos.append(TodoItem(task: task, isCompleted: false))
}
func toggleComplete(index: Int) {
todos[index].isCompleted.toggle()
}
}
메인 뷰:
struct ContentView: View {
@ObservedObject var viewModel = TodoViewModel()
@State private var newTask: String = ""
var body: some View {
VStack {
TextField("할 일을 입력하세요", text: $newTask)
Button("추가하기") {
viewModel.addTask(newTask)
newTask = ""
}
List {
ForEach(viewModel.todos.indices, id: \.self) { index in
HStack {
Text(viewModel.todos[index].task)
Spacer()
Button(action: {
viewModel.toggleComplete(index: index)
}) {
Image(systemName: viewModel.todos[index].isCompleted ?
"checkmark.circle.fill" : "circle")
}
}
}
}
}
}
}
결론: 스위프트는 iOS 개발의 핵심 언어
스위프트는 배우기 쉽고, 강력하며, 현대적인 언어입니다. UI 구성부터 앱 구현까지 빠르게 익히고 싶은 분들께 스위프트 앱 개발 을 추천합니다. 지금 바로 Xcode로 실습을 시작해보세요!
반응형
댓글