HACKING WITH SWIFT - Guess the Flag(2)
·
SwiftUI & UIKit/Tutorials
이번 프로젝트의 경우 전과는 다르게 과제가 주어 지는데 말 그대로 일부만 참고할 문서가 있지만 이후부터는 혼자 search를 한다거나 복습 한 내용에서 심화하는 작업이 이뤄져야 앱이 정상적으로 구동되기 때문에 조금 시간이 오래 걸렸다. 일단은 오늘도 계속해서 프로젝트를 진행 해보자. 가장 먼저 앱에 필요한 Assets을 먼저 챙기고 이후에 개발을 하였다. 이미지로는 총 12개국의 국기로 한번 준비해보았다. 이후 이 국기들을 랜덤으로 출력하여 사용자가 문제에서 출제된 나라의 올바른 국기를 고르는 간단한 미니게임이다. 여튼~ 계속해서 진행해보자. 자 여기까지 다했다면 게임 데이터를 저장할 두가지 속성이 필요하다. 모든 국가 이미지의 배열과 어떤 국가 이미지가 올바른지를 저장하는 정수이다. @State pri..
HACKING WITH SWIFT - Guess the Flag
·
SwiftUI & UIKit/Tutorials
🧑‍💻이번 시간에는 WeSplit 이후 새로운 프로젝트로 한번 Swift에 대해 알아보자! 이번 프로젝트의 이름은 "Guess the Flag"로 말 그대로 사용자가 문제로 제시된 국가의 국기를 맞춰보는 간단한 앱이다. 이를 통해 VStack, Image, LinearGradient 등을 주로 다루면서 전체적인 앱을 만들어 보자! VStack. Xcode에서는 기본적으로 두개이상의 TextView에 대해서는 하나의 view에서 각각 표시되는데 만약 두 개의 TextView가 한 페이지 안에 같이 출력되길 바란다면 어떻게 해야 할까?? var body: some View { Text("Hello, world!") Text("This is another text view") } 아마 이렇게 코딩을 해보면 캔..
HACKING WITH SWIFT - WeSplit(3)
·
SwiftUI & UIKit/Tutorials
🧑‍💻이전 시간에 이어서 이번 시간에도 동일하게 계속 진행해보겠습니다~! 본격적으로 WeSplit 프로젝트를 시작해보자! 먼저 @State를 이용하여 사용자가 앱에 입력할 것으로 예상되는 데이터에 대해 속성을 추가해야 한다. @State private var checkAmount = 0.0 @State private var numberOfPeople = 2 @State private var tipPercentage = 20 그래서 다음과 같이 금액의 기본값으로 0.0, 인원수의 기본값인 2, 팁 비율의 기본값인 20으로 지정하여 진행하였다. 그리고 팁에 대한 비율을 다르게 설정하기 위해서 배열을 이용하여 팁에 대한 비율을 4번째 속성으로 추가하였다. var body: some View { Form { S..
HACKING WITH SWIFT - WeSplit(2)
·
SwiftUI & UIKit/Tutorials
🧑‍💻이전 시간에 이어서 이번 시간에도 동일하게 계속 진행해보겠습니다~! 1. 상태 수정 게임을 하다보면 캐릭터의 목숨을 몇 개 잃을 수도 있고 점수를 얻는다던지 하는 경우가 있다. 이걸 우리는 프로그래밍에 있어서 "상태"라고 부르는데 SwiftUI의 뷰가 상태의 함수라고 말하면 사용자 인터페이스의 모양, 즉 사람들이 볼 수있는 것과 상호 작용할 수있는 것이 프로그램의 상태에 따라 결정된다는 것을 의미한다. 예를 들면, 텍스트 필드에 이름을 입력할 때까지 계속을 누를 수 없다. 이번에는 그래서 SwiftUI에서 문자열과 버튼을 탭할때마다 실행 되는 작업 클로저를 생성할 수있는 버튼을 개발 해보자. struct ContentView: View { var tapCount = 0 var body: some V..
액세스 제어 & 메서드
·
iOS/Swift 문법
🧑‍💻이번 Swift 시간에 배워볼 것은 다음과 같다. 👨🏻‍💻 액세스 제어 정적 속성 및 메서드 1. 액세스 제어 Swift의 구조체를 사용하다 보면 속성과 메서드에 액세스 할 수 있지만 원하는 것이 아닌 것에 액세스 하는 경우가 많다. 외부 액세스로부터 데이터를 숨기고 싶을 때도 있다. 예시 구조체를 통해서 문제를 만들고 해결법을 찾아보자! struct BankAccount { var funds = 0 mutating func deposit(amount: Int) { funds += amount } mutating func withdraw(amount: Int) -> Bool { if funds >= amount { funds -= amount return true } else { return fal..
매개변수
·
iOS/Swift 문법
🧑‍💻이번 Swift 시간에 배워볼 것은 다음과 같다. 👨🏻‍💻 매개변수의 기본값을 제공하는 방법 함수의 오류를 처리하는 방법 1. 매개변수의 기본값을 제공하는 방법 함수에 매개 변수를 추가하려면 필요에 따라 다른 데이터에서 함수를 작동시킬 수 있다. 때로는 코드를 유연하게 하기위해 사용자 지정 지점을 사용할 수 있도록 하고 싶지만, 다른 경우 10번 중 9번만 같은 것을 원하는 경우도 있다. 예제를 통해 더 알아보자. func printTimesTables(for number: Int, end: Int) { for i in 1...end { print("\(i) x \(number) is \(i * number)") } } printTimesTables(for: 5, end: 20) func print..