일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리액트
- 스위프트
- widget
- 위젯킷
- 대외활동
- 멋쟁이사자처럼
- 웹
- composable architecture
- uikit
- 컴퓨터그래픽스
- 네트워크
- 스유
- 운영체제
- 문법
- TCA
- spritekit
- 영남대
- Protocol
- cs
- 백준
- 멋사
- dispatchqueue
- 알고리즘
- ReactorKit
- c++
- SwiftUI
- 후기
- Swift
- swift concurrency
- widgetkit
- Today
- Total
목록앱 (115)
맛동산이
스위프트 공식문서를 참조하였습니다. For - In Loops (for in 문) While 문 (While Loops) repeat-while 조건적 구문(Conditional Statements) 튜블(Tuple) 집합(set) 리스트 튜플 튜플 조건 where문 coninue문 break문 fallthrought 문 레이블 구문(Labeled Statements) 이른 탈출 (Early Exit) For - In Loops (for in 문) for in 문은 배열, 숫자, 문자열을 순서대로 순회 하기 위해서 사용한다. 보통 배열이나 사전을 순회하기 위해서 사용한다. 사전의 경우에는 정렬이 되어있지 않는 이상 순서대로 순회하지는 않는다. 그렇기 때문에 변수 자리에 _ 를 사용해서 성능을 높일수도 있..
스위프트 공식문서를 참조하였습니다. 콜렉션 타입 배열(Array) 배열 선언 기본 배열값으로 빈 배열 생성 배열을 배열끼리 더하기 리터럴을 이용한 배열의 생성 배열 접근 및 변환 배열의 순환 셋(Set) : 집합 빈 Set 생성 set 접근과 변경 Set 명령 Set의 맴버십과 동등 비교 사전 (Dictionaries) 빈 dictionary 생성 리터럴을 이용한 dictionary생성 dictionary의 접근과 변경 콜렉션 타입 스위프트에서는 3개의 콜렉션 타입을 제공한다.( array, set, dictionary) 콜렉션의 경우 또한 상수 let으로 할당하게 되면 변경 불가능 하다. 배열(Array) 배열 선언 var someInt = [Int]() // int형 배열 선언 someInt.appe..
스위프트 공식문서를 참조하였습니다. 문자열 선언 문자열 수정 값 타입 문자열 문자 문자열 결합 방법 문자열 삽입 문자세기 문자열 인덱스 문자열 개별 접근 문자열의 삽입과 삭제 부분문자열 문자열과 문자비교 접두사와 접미사 비교 문자열 선언 var emptyString ="" let anotherString = String(); 이처럼 선언 할수 있음. 빈 문자열을 확인하는 방법은 isEmpty 프로퍼티를 사용하면된다. if emptyString.isEmpty { print ( "string is empty" )} // string is empty 출력됨. 문자열 수정 var variableString = "Horse" variableString += " King" print (variableString) ..
스위프트 공식문서를 참조 하였다. 스위프트에서는 통상적으로 사용하는 연산자를 다 사용가능하며, 범위를 지정하는 범위연산자를 포함해서 사용하게 된다. 기본연산자 단항연산자 : -a, !b, !c 와 같은것 이항연산자 : a+b 같이 두 대상사이 연산자 삼항연산자 : a? b : c 할당연산자 let b = 10 let(x,y) = (1,2) 두번째 예시처럼 구조분해 할당이 가능하다. 스위프트에서는 ==동등비교 연산자를 사용하여 비교하게 된다. 일반적으로 = 는 할당연산자임. 사칙연산자 +, -, *, %, / 가 c나 c++ 과 같이 동일하게 작용한다. / 는 나머지 연산자 이다. 단항 음수 연산자 숫자 값은 -가 앞에 붙으면 부호를 변경시킨다. let three =3 let minusThree = -th..
EnvironmentValue란SwiftUI 에서는 뷰를 구성하는데 있어서, 필요한 각종 환경 설정과 관련된 정보를 EnvironmentValue타입으로 저장한다. colorScheme, timeZone, locale, calendar, layoutDirection, sizeCategory, undoManager 등 다양한 속성을 가지고 있다. Environment란environment 어노테이션(@Environment) 은, 위의 EnvironmentValue를 프로퍼티로 가지고 있는, 구조체이다. 해당 Environment를 통해서 설정에 있는, 뷰의 환경 변수를 가져와서 사용할수 있게 된다. EnvironmentValue와 Environment의 상관관계즉, EnvironmentValue란, Env..
뷰를짜다 보면 modifier가 엄청 길어지거나 화면에 계속 반복되는 modifier를 사용하는 경우가 생긴다. 이러한 경우 custom modifier를 생성해서 사용하면 편하다.방법은 다음과 같다 . ViewModifier를 채택하는 구조체 생성 .modifier(modifier: _ )를 사용해서 적용 Uploaded by N2T

음악기능을 추가해보자! 1. 음원파일 추가하기드래그엔 드랍을 통해서 추가해줄수 있다. 2. AVFoundation 추가import AVFoundation 을 해주자. 3. 플레이어 설정해주기뷰 외부에 player를 선언해준다.import AVFoundation var player: AVAudioPlayer?4. 실행 함수 추가하기func playSound() { guard let url = Bundle.main.url(forResource: "watersound", withExtension: "mp3") else {return} do { player = try AVAudioPlayer(contentsOf: url) player?.play() } catch(let err) { print(err.locali..
Transition?뷰를 보여질때와 제거할때의 애니메이션Transition 의미는 뷰를 이동할때의 개념보다는, 뷰를 보여지게할때와 사라지게할때의 애니메이션이다. Transition은 인스턴스 메소드이다.구현부를 보면, 파라미터 값으로 AnyTransition이라는 값을 받게 되는데 해당 값은 뷰가 어떠한 변화를 감지했을때 이를 추가한 뷰를 다시 리턴해주는 방식으로 작용한다. AnyTransitionanytransition은 어떠한 타입의 트렌지션을 줄지에 대한것이며 구조체이다. 따라서 뷰에 transition을 주고, .anytransition중에 하나를 선택해서 보내주면, 해당 트렌지션이 작동하는 view를 리턴해주느 방식인 것이다. 예시코드struct ContentView: View { @State ..
먼저 SwiftUI는 반응형프로그래밍을 하기 위한 프레임 워크라는것을 이해하면 좋다. 기존의 MVC가 아닌 MVVM으로 프로그래밍을 할때 중요한것은 ViewModel과 View가 어떻게 연결되어있고, 서로 관찰하는지에 대해서 고민을 해야하며, 해당 데이터 바인딩을 어떻게 해줄지가 중요하다. 기존의 UIKit에서는 이러한 문제점을 RxSwift라는 3th party library를 사용해서 해결하였는데, (최근에는 콤바인등… )SwiftUI는 기본적으로 잘 설계되어 있어서 이러한 데이터 플로우에 대해서 이해하는 것이 굉장히 중요하다고 생각한다. 따라서 오늘은 ObservableObject, ObservedObject, StateObject에 관해서 공부를 해보자! ObservableObjectObserva..