반응형
Swift - Reversing Card
- 스파르타코딩클럽 - iOS 앱개발 기초반을 수강하면서 배우는 Swift
2주차 (1)
1. Swift 기본 문법 - 조건문
- 20 보다 작으면 청소년, 크면 성인이라고 알려주는 코드
var age = 30 if age > 20 { print("성인이에요") } else { print("청소년이에요") }
- 조건이 여러 개일 경우 사용할 수 있는 if, else if, else
var fruitName = "사과"
if fruitName == "사과" {
print("제가 좋아하는 사과네요!")
} else if fruitName == "딸기" {
print("딸기는 논산 딸기")
} else if fruitName == "수박" {
print("여름은 역시 수박!")
} else {
print("다른 과일들도 맛있죠!")
}
- switch문
var fruitName = "사과" switch fruitName { case "사과": print("제가 좋아하는 사과네요!") case "딸기": print("딸기는 논산 딸기") case "수박": print("여름은 역시 수박!") default: print("다른 과일들도 맛있죠!") }
2. Swift 기본 문법 - 반복문
- 0부터 99까지 출력해 주는 코드
for i in 0..<100 {
print(i)
}
//이거면 단 3줄 만에 출력할 수 있다!
- 0부터 100까지 출력해 주는 코드
for i in 0...100 { print(i) } //어떤 차이인지 눈에 보이시죠?
- 리스트와 반복문
var people = ["철수","영희","민수","형준","기남","동희"]
for person in people {
print(person)
}
//Swift 는 참 편리합니다. 알아서 철수, 영희, 민수, 형준...
//순서대로 person 에 문자열 값을 넣어줍니다
var people = ["철수","영희","민수","형준","기남","동희"]
for i in 0..<people.count {
var person = people[i] // people 리스트의 i 번째 요소 가져오기
print(person)
}
//이렇게 쓸 수도 있지만, 편한 방법이 더 좋겠죠?
3. UI 컴포넌트로 조건문 연습해보기
스토리보드 세팅 후, ...
- 여기서부터 시작
import UIKit class ViewController: UIViewController { @IBOutlet weak var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } @IBAction func buttonDidClick(_ sender: Any) { } }
- '뒤집힌 상태' 를 저장하는 변수 만들기
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
var isBackSide = true
@IBAction func buttonDidClick(_ sender: Any) {
if isBackSide {
imageView.image = UIImage(named: "ace")
} else {
imageView.image = UIImage(named: "poker")
}
isBackSide = !isBackSide // true | false 를 뒤집어줍니다
}
}
3. 카드 뒤집는 애니메이션 맛보기
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
var isBackSide = true
@IBAction func buttonDidClick(_ sender: Any) {
UIView.transition(with: imageView, duration: 0.6, options: .transitionFlipFromLeft) {
if self.isBackSide {
self.imageView.image = UIImage(named: "ace")
} else {
self.imageView.image = UIImage(named: "poker")
}
} completion: { (finished) in
self.isBackSide = !self.isBackSide
}
}
}
4. UI 컴포넌트로 반복문 연습해보기
텍스트 필드 자동 입력하기
- 프로젝트 및 스토리보드 준비
- 자동 입력하기 버튼 구현하기
- 모든 UITextField에 텍스트 입력하기
import UIKit class ViewController: UIViewController { @IBOutlet var textFields: [UITextField]! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } @IBAction func autoInputButtonDidClick(_ sender: Any) { for textField in textFields { textField.text = "모두 텍스트가 들어갑니다" } } }
2. 홀수 번째 UITextField에만 텍스트 입력하기
import UIKit
class ViewController: UIViewController {
@IBOutlet var textFields: [UITextField]!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func autoInputButtonDidClick(_ sender: Any) {
var i = 0 // 프로그래밍 언어에서는 0번째부터 시작입니다!
for textField in textFields {
if i % 2 == 1 { // a % b 는 a를 b로 나눴을 때 나머지를 계산해줍니다!
textField.text = "홀수번째 텍스트가 들어갑니다"
}
i += 1
}
}
}
아래와 같이 작성해도 똑같은 결과가 나온다.
//정확하게 같은 의미입니다!
import UIKit
class ViewController: UIViewController {
@IBOutlet var textFields: [UITextField]!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func autoInputButtonDidClick(_ sender: Any) {
for i in 0..<textFields.count {
var textField = textFields[i]
if i % 2 == 1 {
textField.text = "홀수 번째 텍스트가 들어갑니다"
}
}
}
}
반응형
'WEB & App. > Swift' 카테고리의 다른 글
[iOS/Swift] 라면 타이머 앱 만들기 (0) | 2021.06.18 |
---|---|
[iOS/Swift] 구조체(Struct)와 클래스(Class) (0) | 2021.06.18 |
[iOS/Swift] Flash App 만들어보기 (0) | 2021.06.13 |