-
웹개발자의 iOS 개발기(1) - Swift 기초 문법iOS 2025. 1. 19. 08:38
나만의 앱을 만들어 보고 싶어 iOS 개발을 공부해 보려고 합니다.
'iOS 개발기'의 목표는 다음과 같습니다.
1. 결과만을 위한 코드를 작성하는 게 아닌 유지보수, 운영에 적합한 코드 작성법 배워보기
2. 나만의 앱 만들어 출시 해보기
도서나 구글링을 통해서도 입문할 수 있겠지만
여유롭지 않은 시간 때문에 최대한 효율적으로 공부하고 싶어 강의를 구매하게 되었습니다.
초격차 패키지 : 네카라쿠배 5개 앱으로 완성하는 iOS 앱 개발 | 패스트캠퍼스
네카라쿠배 출신 강사님들 먼저 클론코딩 진행 중! 네카라쿠배 iOS 멘토부터 WWDC Scholarship Winner까지, iOS 전문가 7인과 함께 네카라쿠배 5개 앱 주요 기능 100% 클론코딩하고 압도적 앱 개발 포트폴
fastcampus.co.kr
우선 Swift 문법을 찍어 먹어 보았습니다.
언뜻 보았을 때 자바스크립트와 유사하다고 느껴졌습니다.
01. 변수
변수 선언
var place: String
변수 사용
import SwiftUI struct ContentView: View { var name: String = "조우현" var body: some View { VStack { Image(systemName: "globe") .imageScale(.large) .foregroundStyle(.tint) Text("\\(name)님 안녕하세요!") Text(name) Text(name) Text(name) } .padding() } } #Preview { ContentView() }
02. 변수의 타입
import SwiftUI struct _2_VariableType: View { var name: String = "조우현" var age: Int = 20 var height: Float = 178.9 var weight: Double = 77.0 var havePet: Bool = false var body: some View { Text("\\(name)") Text("\\(age)") Text("\\(height)") Text("\\(weight)") Text("\\(havePet.description)") } } #Preview { _2_VariableType() }
03. 컬렉션
Array, Set, Dictionary
import SwiftUI struct _3_Collections: View { let name: String = "조우현" // let(상수): 초기화 후 변경 불가능 var name2: String = "조우현" // var(변수): 초기화 후 변경 가능 // 01.Array 초기화 var foods: [String] = ["eggs", "bananas", "beans"] // 02.Set 초기화 var jazzs: Set<String> = ["bibidudu", "labdap", "dididudu"] var hiphop: Set<String> = ["labdap", "rap", "wow"] // 03.Dictionary 초기화 var koEngDict = ["사과":"Apple", "바나나":"Banana"] var body: some View { VStack { // 01.Array 사용 Text(foods[0]) Text(foods[1]) Text(foods[2]) // 02.Set 사용 Button { var intersectionMusic = jazzs.intersection(jazzs) intersectionMusic.description } label: { Text("hit!") } // intersection(): Set 교집합 Text(hiphop.intersection(jazzs).description) // 03.Dictionary 사용 Text(koEngDict["사과"]!) Text(koEngDict["바나나"]!) } } } #Preview { _3_Collections() }
04. 조건문
if, guard
import SwiftUI struct _4_Condition: View { var count = 5 var hasLoggedIn = true var body: some View { if count > 4 { Text("숫자는 4보다 큽니다") } else { Text("숫자는 4와 같거나 작습니다") } if hasLoggedIn { Text("로그아웃 하시겠습니까?") } else { Text("로그인 하시겠습니까?") } guard hasLoggedIn else { Text("로그인 하시겠습니까?") } Text("로그아웃 하시겠습니까?") } } #Preview { _4_Condition() }
05. 반복문
import SwiftUI struct _5_Loop: View { let name: [String] = ["리이오","리이사", "춘리", "올리브", "바미", "나리"] var body: some View { VStack { ForEach(name, id: \\.self) { item in Text(item) } } } } #Preview { _5_Loop() }
06. 함수
import SwiftUI struct _6_Function: View { @State var inputNumber: Int = 4 var body: some View { VStack { Text("Input number is \\(inputNumber)") Button { inputNumber = plusFive(input: inputNumber) // 함수 사용1 inputNumber = plusFive(with: inputNumber) // 함수 사용2 } label: { Text("+5") } } } // 함수 선언1 func plusFive(input: Int) -> Int { return input + 5 } // 함수 선언2 func plusFive(with input: Int) -> Int { return input + 5 } } #Preview { _6_Function() }
07. 중간 점검
import SwiftUI struct _7_Half: View { var name: String = "조우현" var age: Int = 20 var names: [String] = ["리이오", "존", "바미", "테리우스", "올리비아"] var body: some View { VStack { HStack { Text("\\(name)입니다") Image(systemName: "pencil") } Text("안녕하세요! \\(age)살의 \\(name)!") } List { //Text("리이오") //Text("존") //Text("바미") ForEach(names, id: \\.self) { name in var welcome = sayHi(to: name) if name == "리이오" { Text("기다렸어요. \\(welcome)") } else { Text(welcome) } } } } func sayHi(to name: String) -> String { return "\\(name)님 반갑습니다." } } #Preview { _7_Half() }
'iOS' 카테고리의 다른 글
웹개발자의 iOS 개발기(6) - [SwiftUI] 리스트 (0) 2025.01.25 웹개발자의 iOS 개발기(5) - 예외 처리, 프로토콜, 제네릭 (0) 2025.01.24 웹개발자의 iOS 개발기(4) - 옵셔널, 옵셔널 바인딩, 체이닝 (0) 2025.01.19 웹개발자의 iOS 개발기(3) - 열거형, 스위치 (0) 2025.01.19 웹개발자의 iOS 개발기(2) - struct(구조체), class, @State, @ObservableObject (0) 2025.01.19