왜 이름이 없는 함수, 클로저를 왜 사용할까? 함수를 전달하는 형태로 사용하기 때문에 이름이 필요 없다. 전달하는 형태란? 파라미터(input)으로 사용되는 것이다. 함수를 실행할 때 클로저 형태로 전달할 때, 파라미터에서 클로저를 정의한다. 파라미터로 전달하는 함수를 콜백함수라고 부른다. 사후적으로 정의하기 위해 사용한다. 내장함수의 매개변수를 클로저 형태로 정의하면, 개발자가 이를 커스텀할 수 있기 떄문이다. 파라미터로 전달되는 클로저는 기존 함수 내용이 모두 실행된 후 실행된다고 봐도 무관하다. 활용도가 늘어난다. // 1) (클로저를 파라미터로 받는 함수)정의 func closureCaseFunction(a: Int, b: Int, closure: (Int) -> Void) { let c = a ..
클로저 이름이 없는 익명 함수 이름이 없는 코드의 묶음이다. 이름 없이 호출할 수 있는 형태로 사용된다. 클로저와 함수는 기능은 완전히 동일하지만, 형태가 다르다. 클로저가 함수보다 더 큰 범위이다. Python의 lambda와 동일하다. 함수와 클로저의 비교 // 함수의 타입 표기법 let functionA: (String) -> String // 1)파라미터 문자열, 2)리턴형 문자열 let functionB: (Int) -> () // 1)파라미터 정수, 2)리턴형 없음 let functionC: (String) -> Void // 1)파라미터 문자열, 2)리턴형 없음 // 함수로 표현 func aFunction(str: String) -> String { return "Hello, \\(str)"..
중첩타입이란? → 특정 타입 내에서 정의되는 타입이다. (여기서 타입 : class, struct, enum) 중첩타입은 왜 사용해야할까? class Aclass { struct Bstruct { enum Cenum { case aCase case bCase } var name: Cenum } } 타입의 사용 범위를 한정짓기 위해서 Bstruct는 Aclass가 없다면, 의미가 없는 타입이다. 이때 중첩타입으로 표현하면, Aclass가 존재할 때에만 Bstruct가 존재한다는 것을 알 수 있다. 만약, 중첩타입이 아닌 외부에 Bstruct가 선언되어 있다면, Bstruct의 의미가 없음에도 선언될 수 있다. 타입의 구조를 상세하게 설계하기 위해서 Aclass 내부에 Bstruct를 선언함으로써 더 깔끔한..
SiriKit Medea Platform TVOS SiriKit Media Intents 기존 HomePod에서 사용되던 것이 Apple TV에서 사용되게 되었음. 다양한 자연어 쿼리를 추가할 수 있음 iOS 적용 방식과 동일합니다.(WWDC 19, SiriKit Media Intents 확인) SiriKit Media 앱에서 자연어 명령을 처리하는 방법 Intent Handler SiriKit Media 요청을 처리하는 핵심 클래스 resolveMediaItems 메서드를 구현해주어야한다. App에서 수신한 INPlayMediaIntent 개체를 평가하고 검색하여 구체적 미디어 항목으로 변환하는 곳이다. 이후 handler가 호출되어 앱이 동작해 재생을 시작할 수 있게 된다. tvOS의 차이점은 고객이..
Shorcuts이란? 바로가기 노출 앱 뿐만 아니라, 앱 내부 작업을 표시한다. Watch에서도 제공한다. 사용자 지정 UI를 볼 수 있다. 특정 시간에 해당 제안을 노출할 수 있다. 사용자 지정 문구 제안 사용자가 특정 단어를 이야기하면, 모든 iOS에서 해당 작업을 진행할 수 있음 ex) “Coffee time”이라는 단어를 이야기하면, 특정 작업을 수행함 단축어 앱 자신만의 바로가기를 만드는 것 Siri가 만들어주는 것이 아니라, 사용자가 직접! 앱에 Shortcuts을 적용하는 방법 Shortcuts 설계 시 준수사항 💡 Shortcuts으로 사용하기 적절한 기능인지 판단하는 부분 앱의 주요 기능을 수행할 수 있어야한다. 사용자가 앱으로 하고싶었던 행동들을 더 빠르게 수행할 수 있도록 앱을 여는 ..
간단한 복습, 옵셔널이 뭐였지? nil 값을 접근하면, 앱이 종료되기 때문에 발생한 개념! nil을 가지거나 실제 값을 가질 수도 있다.→ 이 nil 또는 정상적인 값 두가지 타입을 담을 수 있는 타입 = 옵셔널이 되는 것이다. → 옵셔널 타입 그 자체로 사용할 수 없다. 옵셔널 값 실제 사용 방법 옵셔널 타입을 직접 사용할 수 없다. → 옵셔널에 들어있는 값이 실제 값인지, 또는 nil인지 확인하고 사용해야한다. 해당 값을 사용하기 위해 다음과 같은 방법을 사용할 수 있었다. 강제추출 (조건문으로 확인 후 !로 값을 바로 벗기는 것) 옵셔널 바인딩 (값이 있는 경우만 임시 상수나 변수로 사용하는 방법) Swift 5.7 변경사항 기존 옵셔널 바인딩에서는 임시 변수(상수)를 사용하기 위해서 해당 변수의 ..

아보카도 토스트 프로젝트 간단한 토스트를 만드는 어플리케이션을 만들어보자! 아직 코드도 깔끔하지 않고, UI도 예쁘지는 않다! 성장일기처럼 부족한 모습도 열심히 기록해보고자 한다. 기능 1. 빵의 굽기 정도 설정하기 (Slider) 2. 토스트 재료 개수 선택하기 (Stepper) 3. 장바구니에 담기 4. 장바구니 : 주문하고자하는 메뉴를 상세하게 보여준다. 5. 주문목록 : 장바구니에서 전체주문 버튼을 누르면 값들이 모두 주문목록으로 들어간다. (계속 추가되는 형태) // SoiToast import SwiftUI struct ContentView: View { @State private var resultAlert = false // Alert @State private var bread = 50...

Tab view 어떤 컴포넌트인가? A view that switches between multiple child views using interactive user interface elements. > 하단 버튼(UI요소, Tab bar)를 사용하여 여러 화면을 전환할 수 있다. 언제, 어디서 사용하는가? A tab bar appears at the bottom of a screen, helping people understand the types of information or functionality an app provides. Tabs let people quickly switch between top-level sections in your app while preserving the cur..

Color 어떤 컴포넌트인가? A representation of a color that adapts to a given context. 컨텐츠에 색을 입힌다. 어떻게 사용하는가? // 정의 @frozen struct Color // 색 만들기 // 방법1. Asset Catalog let aqua = Color("aqua") // 방법2. RGB 값, 색조, 포화 및 밝기 사용 let skyBlue = Color(red: 0.4627, green: 0.8392, blue: 1.0) let lemonYellow = Color(hue: 0.1639, saturation: 1, brightness: 1) let steelGray = Color(white: 0.4745) // 방법3. 인스턴스마다 다른 색상 ..

ScrollView 1. 어떤 컴포넌트인가? A scroll view allows users to browse content, such as text in a document or a collection of images, that’s larger than the visible area. > Scroll view 를 통해 문서의 텍스트, 사진 등과 같은 콘텐츠를 정해진 영역보다 더 크게(많이) 볼 수 있다. 2. 언제, 어디서 사용하는가? The scroll view displays its content within the scrollable content region. As the user performs platform-appropriate scroll gestures, the scroll view ..
- Total
- Today
- Yesterday
- 정답
- 이것이 코딩테스트다
- CHR
- 반복문
- CodeUp
- 코드업
- level1
- 백준
- baekjoon
- COMMIT
- 프로그래머스
- SwiftUI
- 리플릿
- python
- do while
- 부르트포스
- replit
- ord
- 파이썬
- 깃허브
- 설명
- 깃
- for문
- 시간초과
- 16진수 입력
- 기초 100제
- Swift
- 코드 업
- 레플릿
- Code up
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |