iOS

iOS/SwiftUI

[SwiftUI] Custom Font 추가와 Font Extension하기

Custom Font 추가하기 Pretendard라는 글꼴을 프로젝트에 추가하고자 한다. 하단 링크에서 파일을 다운받는다 Pretendard Pretendard 프리텐다드 Pretendard 프리텐다드 글꼴 다운로드 일본어 버전 다운로드 GitHub에서 보기 system-ui를 대체하는 글꼴 Apple의 system-ui가 익숙한 나로서는 San Francisco와 Apple SD 산돌고딕 Neo가 없는 cactus.tistory.com 다운받은 폰트를 Font 프로젝트에 추가한다. 이때 폰트는 반드시 프로젝트에 타겟하도록 한다. 타겟이 되지 않으면 적용되지 않는다. 프로젝트의 info에서 Fonts Provided by application을 추가한다. 추가한 모든 파일을 확장자명까지 적는다. 성공적으..

iOS/SwiftUI

[Udemy : SwiftUI+SwiftData Masterclass] Section 10. AFRICA

⭐️ 핵심 강의 내용 How to decode a JSON file and fetch data Create a dynamic List using Generics and JSON data. Create video player Map with custom Annotations 💡 JSON file 이란? JavaScript Object Notation 👉JSON Structure 기본 구조 key : value Object {} Array [] String "" Colon : Comma , JSON의 기본 예시 [ { "name" : seou, "age" : 22, "favefood" : [ "kimbap", "sulbing", "cake" ] } ] ❗️How to decode JSON file Codab..

iOS/SwiftUI

[Day 9] 클로저(Closure), passing functions into functions

1️⃣ 클로저 이름 없이 일시적으로 사용할 수 있는 함수 별도의 함수 생성을 건너뛰고 상수나 변수에 직접 기능을 할당할 수 있다. 함수나 매서드의 매개변수로 전달하거나 변수에 저장할 수 있다. 클로저 문법의 기본구조 { (매개변수: 매개변수타입) -> 반환타입 in // 클로저의 실행 코드 } in : 매개변수와 반환타입 선언을 클로저 실행코드와 구분하기 위한 키워드 중괄호 안에 매개변수를 넣는다. 앞에 let 또는 var을 필요로한다.

iOS/SwiftUI

[Day 8] 함수의 매개변수에 기본값 제공, throwing functions

1️⃣ 함수의 매개변수에 기본값 주기 func printTimesTables(for number: Int, end: Int = 12) { for i in 1...end { print("\(i) x \(number) is \(i * number)") } } printTimesTables(for: 5, end: 20) printTimesTables(for: 8) 함수에서 매개변수 end의 기본값을 설정했기 때문에 printTimesTables를 사용할 때 end에 대한 값을 주지 않아도 된다. 2️⃣ 함수의 오류를 핸들링하는 방법 이해가 어려우니 예시와 함께 알아보자. [예시] 비밀번호를 설정하는데, 설정할 비밀번호의 안전성을 확인하는 함수를 작성하고자 한다. ①5자 미만의 너무 짧은 비밀번호와 ②12345..

iOS/SwiftUI

[Day 7] 함수, 매개변수, 반환값

1️⃣ 반환값이 없는 경우 func 함수이름(매개변수) { 실행할 코드 } //예시 1 func printWelcome() { print("Hi there!") } printWelcome() //예시 2 : Accepting parameters func count(to: Int) { for i in 1...to { print("I'm counting: \(i)") } } count(to: 3) 2️⃣ 반환값이 있는 경우 func rollDice() -> Int { return Int.random(in: 1...6) } let result = rollDice() print(result) 💡 반환값이 있는 경우에서 return 을 생략할 수 있다! (Swift 5.1부터 가능해진 기능) func greet(..

iOS/SwiftUI

[SwiftUI] Setting App Icon

SwiftUI와 UIKit을 함께 사용하여 앱 아이콘 변경 기능을 구현할 수 있다. Solution 1. UIApplication.shared: 현재 앱의 UIApplication 인스턴스에 접근한다. UIApplication은 iOS 앱의 중심에 위치한 클래스로, 앱의 라이프사이클과 다양한 앱 레벨의 동작을 관리한다. setAlternateIconName: 이 메서드는 앱 아이콘을 변경하는 역할을 한다. 메서드에는 변경할 아이콘 이름이 전달돼야 한다. error가 nil이 아닌 경우(앱 아이콘 변경 실패)는 에러 메시지를 출력, 앱 아이콘 변경 성공시 성공 메시지 출력. UIApplication 이란? 더보기 iOS 앱의 중앙 관리 객체로, 앱의 라이프사이클과 앱 레벨 동작을 관리하는 클래스 UIApp..

iOS/SwiftUI

[Day 6] 반복문 : Loop (for, while), break & continue

1️⃣ For Loop let platforms = ["iOS", "macOS", "tvOS", "watchOS"] for os in platforms { print("Swift works great on \(os).") } 중괄호 안의 코드를 loop body라 한다. 루프는 반복문 내부에서만 존재한다. array, dictionary, or set 에서 이와 같은 반복문을 사용한다. for i in 1...5 { print("Counting from 1 through 5: \(i)") } for i in 1..

iOS/SwiftUI

[Day 5] 조건문 : if, switch, and the ternary operator

1️⃣ if if someCondition { print("Do something") } else if someCondition { print("Do something") } else { print("Do something") } 2️⃣ switch enum Weather { case sun, rain, wind, snow, unknown } let forecast = Weather.sun switch forecast { case .sun: print("It should be a nice day.") case .rain: print("Pack an umbrella.") case .wind: print("Wear something warm") case .snow: print("School is cancel..

iOS/SwiftUI

[Day 4] Type annotations

let playerName: String = "Roy" var isAuthenticated: Bool = true var user: [String: String] SwiftUI에서는 Type을 지정해주지 않으면 Type을 추론해서 지정한다. Type annotation을 이용해 Type을 명시할 수 있다. 미리 Type을 지정하여 연산 속도를 줄일 수 있다.

iOS/SwiftUI

[Day 3] 배열(Array) , 딕셔너리(Dictionary) , 집합(Set), Enum

1️⃣ 배열 (Array) var beatles = ["John", "Paul", "George", "Ringo"] let numbers = [4, 8, 15, 16, 23, 42] 배열은 그룹화를 수행한다. 배열은 0부터 인덱스를 센다. print(beatles[0]) // John print(numbers[1]) // 8 출력은 인덱스를 이용한다. var scores = Array() scores.append(100) scores.append(80) scores.append(85) print(scores[1]) //80 append()를 통해 배열에 새 항목을 추가할 수 있다. var albums = [String]() Array 대신에 [String]을 사용할 수 있다. remove(at: 인덱스)..

쨈미니
'iOS' 카테고리의 글 목록 (3 Page)