본문 바로가기
개발,컴퓨터/SwiftUI

스위프트 기초 문법 1) 조건문, foreach 반복문, enum 케이스 나누기, for 반복문, Unwrap 옵셔널 변수, 함수 매개변수 이름, 제네릭

by Muyaho~ 2023. 4. 10.
  • 조건문의 다양한 표현 방법

1)

var isDarkmode : Bool = true

if isDarkmode != true {
    print("다크모드 아님")
} else {
    print("다크 모드")
}

 

2) 

var isDarkmode : Bool = true

if !isDarkmode {
    print("다크모드 아닙니다")
} else {
    print("다크모드 입니다.")
}

 

3)

var isDarkmode : Bool = true


var title : String = isDarkmode == true ? "다크모드 입니다" : "다크모드 아닙니다"

print("\(title)")

 

4)

var isDarkmode : Bool = true


var title : String = !isDarkmode ? "다크모드 입니다" : "다크모드 아닙니다"

print("\(title)")

 

  • foreach 반복문
var myArray : [Int] = [0,1,2,3,4,5,6,7,8,9,10]

for item in myArray where item > 5{
    print("item: \(item)")
}

where 로 조건을 넣어줄 수 있다.

 

 

 

  • enum 케이스 나누기
enum School {
//    case elementary
//    case middle
//    case high
    case elementary, middle, high
}



let yourShcool = School.high
//print("yourSchool: \(yourShcool)")
print("yourShcool: ", yourShcool)

1) case를 일일이 다 쓰는 방법도 있지만, case를 쓰고 ,(쉼표)를 이용해 나열해주어도 된다.

 

2) .뒤에 high는 케이스 값을 입력하는 것이다.

 

3) \(변수)로 출력할 수도 있지만,  ,(쉼표)뒤에 변수를 써서 출력할 수도 있다.

 

 

 

enum Grade : Int {
    case first = 1
    case second = 2
}


let yourGrade = Grade.second
print("yourGrade:  \(yourGrade.rawValue)")

1)  .rawValue로 enum이 가진 값을 가져올 수 있다.

 

 

let yourGrade = Grade.second.rawValue
print("yourGrade:  \(yourGrade)")

1) .rawValue를 더 앞쪽에서 가져올 수도 있다.

 

 

  • for 반복문
for index in 0..<5 where index % 2 == 0 {
    print("호호 index: \(index)")
}

var randomInts: [Int] = []



for _ in 0..<25 {
    let randomNumber = Int.random(in: 0...100)
    randomInts.append(randomNumber)
}

print("randomInts: \(randomInts)")

1) 0...5 와 같이 ...으로 범위 표시 가능

 

2) 0..<5와 같이 부등호를 써서 범위표시 가능

 

  • Unwrap 옵셔널 변수

옵셔널 이란? : 값이 있는지 없는지 모른다.

언래핑 이란? : 랩이 감싸져 있는 것을 벗기는 것.

 

 

  • 클래스 vs 스트럭트

struct: 복사해서 사용하는 개념. 참조하는 값이 바뀌어도 기존 값에는 영향이 없음

class: 공유해서 사용하는 개념. 참조하는 값이 바뀌면 기존 값도 바뀜

 

 

  • 함수 매개변수 이름
func myFunction(name: String) -> String{
    return "안녕하세요 \(name) 입니다!"
}

//함수, 메소드 호출
myFunction(name: "쩡대리")



func myFunction2(with name: String) -> String{
    return "안녕하세요 \(name) 입니다!"
}


myFunction2(with: "ghfhfhfhf")



func myFunction3(_ name: String) -> String{
    return "안녕하세요 \(name) 입니다!"
}


myFunction2(with: "ghfhfhfhf")

1) 일반적으로 매개 변수를 가지는 함수는 이름을 정해주는데 이름을 바꾸고 싶으면 바꿔주거나 언더바로 쓸 수 있다.

 

 

  • 제네릭

제네릭: 어떤 자료형이든 받는다

 

 

'개발,컴퓨터 > SwiftUI' 카테고리의 다른 글

SwiftUI 앱만들기(Vstack, Hstack, Padding, font)  (0) 2023.03.29