조건문이란 이름 그대로 조건에 따라 실행할 코드를 달리한다.
if는 기본적으로 조건의 Bool 값이 true인지 검사하고 코드를 실행하며, else if와 else를 통해 조건이 false인 경우에 대해 추가적인 처리가 가능하다.
private var conditionVariable: Bool = false
private let myGrade: String = "First"
if conditionVariable {
Text("This condition is true")
} else {
Text("This condition is false")
}
///조건부분에 Bool type의 변수만 적어두는 것으로 해당 값이 참일 때라는 조건이 된다.
if conditionVariable == true {
Text("First condition is true")
} else if myGrade == "First" { // String type에 대한 조건문
Text("Second condition is true
} // else문은 생략 가능
if !conditionVariable { //"!"연산자를 통해 false -> true로 변환 가능
Text("This condtion is true but value is false")
}
조건문 if를 이용하여 메모장의 메모가 비어있는 경우에 대한 처리나 ForEach로 List를 나열할 때 5번째마다 구분선을 넣는 등의 활용이 가능하다.
.alert(isPresented: $isAlertPresented) {
if !memos.contents.isEmpty{ //메모가 비어있지 않은 경우 실행
return Alert(
title: Text("Save this memo?"),
primaryButton: .default(Text("Yes")){
if memos.title.isEmpty{ //메모의 제목이 없는 경우 실행
memos.title = memos.contents
}
memo.append(Memo(title: memos.title, contents: memos.contents))
withAnimation {
modelContext.insert(memos)
}
memos.title = ""
memos.contents = ""
isActive = false
},
secondaryButton: .cancel(Text("No"))
)
}
else {
return Alert(title: Text("Content is empty"),
dismissButton: .default(Text("Ok")))
}
}