본문 바로가기
Swift/기초

9. 스위프트 기초 문법[계산기(3) - 비교하여 판단하기, if 조건문]

by UDDT 2025. 1. 10.

Swift/기초 카테고리에 업로드한 모든 내용은 KxCoding 기초 강의를 토대로 작성하였습니다.

 

액션 시트(Action Sheet)

  - 액션 시트 : 화면 하단에 옵션이 나오는 UI

 

+ 액션 만들기

  1. 코드 작성하기

let actionSheet = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
let plusAction = UIAlertAction(title: "+", style: .default, handler : ((UIAlertAction) -> Void)?)

 

  2. ((UIAlertAction) -> Void)? 부분을 선택하고 return키 입력

그림과 같이 코드가 적절한 형태로 바뀐다

 

  3. UIAlertAction을 _로 바꾸고 code 부분 삭제, } 뒤에 하단의 코드 추가

actionSheet.addAction(plusAction)

 

 

- 액션 만들기

  1. 코드 작성하기 > ((UIAlertAction) -> Void)? 부분을 선택하고 return키 입력 >  

     UIAlertAction을 _로 바꾸고 code 부분을 지우기 > 완료 후 코드 추가

let minusAction = UIAlertAction(title: "-", style: .default) { _ in 

}
actionSheet.addAction(minusAction)

 

* 액션 만들기

  1. 위와 동일한 방법으로 추가

 

/ 액션 만들기

  1. 위와 동일한 방법으로 추가

 

 화면에 표시하기

  1. 화면에 표시하는 코드 추가

present(actionSheet, animated: true)

 

* ⌘ + B를 눌러 빌드를 해보고 성공하면 오류가 없는 것. 만약 오류가 있으면 오탈자가 있으니 확인해볼 것

 

  2. 정상 입력이 되었다면 다음과 같이 액션 시트가 만들어짐

 

액션시트 기능 구현하기

  1. 각각의 사칙 연산에 다음과 같은 코드 추가

self.operatorButton.setTitle("+", for: .normal)
self.operatorButton.setTitle("-", for: .normal)
self.operatorButton.setTitle("*", for: .normal)
self.operatorButton.setTitle("/", for: .normal)

 

  2. 만약 기능 구현이 잘 됐다면 다음과 같이 버튼을 클릭하면 바뀌어야 한다

연산 반영하기

  1. 코드 추가

let op = operatorButton.title(for: .normal)!

 

  2. if 조건문 추가

if op == "+" {
	let result = a + b
	resultLable.text = "\(result)"
} else if op == "-" {
	let result = a -  b
	resultLable.text = "\(result)"
} else if op == "*" {
	let result = a * b
	resultLable.text = "\(result)"
} else if op == "/" {
	let result = a / b
	resultLable.text = "\(result)"
}

 

  3. ?에서 선택을 안한채로 실행하면 연산자를 선택하게끔 설정

} else {
	print("연산자 선택")
}

 

if 조건문

// 조건은 condition이며, 결국 boolean 표현식이다.

if a % 2 == 0 {      // if block
	print("짝수")
} else {    // else block
	print("홀수")
}


if weekday == 1 {
	print("일요일")
} else if weekday == 2 {       // else if block
	print("월요일")
...(중략)
} else if weekday == 7 {       
// else if block
	print(토요일")
}

/* 
if block은 하나만 써야하고 생략 불가능. 
else if는 여러개 쓸 수 있음.
else block은 하나만 써야하고 생략 가능. 항상 마지막 자리
if block은 첫번째 실행하는 조건이 true가 되면 종료됨
*/

최근댓글

최근글

skin by © 2024 ttuttak