Swift는 세 가지 '컬렉션 타입'을 갖고 있습니다. 각각의 특징에 따라 필요한 기능에 사용하면 됩니다! 1. Array - 멤버가 순서(Index)를 가지는 리스트 형태의 컬렉션 타입입니다. - Index를 이용해 random access가 가능합니다. - let 을 사용해 선언한 불변 Array 는 수정이 불가능합니다. // Int 타입의 Array 선언 및 생성 var intArr: Array = Array() //위와 동일한 표현 var intArr: Array = [Int]() var intArr: Array = [] var intArr: [Int] = Array() var intArr: [Int] = [Int]() var intArr: [Int] = [] var intArr = [Int]()..
오늘은 iOS 앱에 Lottie 애니메이션을 추가하는 법에 대해 학습하겠습니다! Lottie란 ? Airbnb에서 개발한 JSON형태로 애니메이션을 사용할 수 있는 라이브러리입니다. 주로, 모바일 앱을 실행할 때 splash screen 등을 구현하기 위해 사용됩니다. Lottie Behind the scenes of our new open-source animation tool airbnb.design 먼저, XCODE project를 생성한 후 CocoaPods을 통해 'lottie-ios'를 설치해줍니다. CocoaPods은 홈페이지에서 install, get started 또는 링크한 글을 따라서 설치해주시면 됩니다. CocoaPods.org CocoaPods is built with Ruby a..
오늘은 XCODE 프로젝트에 CocoaPods를 설치해보겠습니다! CocoaPods란 ? 'CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 78 thousand libraries and is used in over 3 million apps. CocoaPods can help you scale your projects elegantly.' (출처 : CocoaPods 공식홈페이지) 즉, iOS 앱의 라이브러리를 효율적으로 관리해주는 의존성 관리 매니저입니다 ! CocoaPods 공식 홈페이지 - https://cocoapods.org/ CocoaPods.org CocoaPods is built w..
Swift에는 Any, AnyObject, nil 키워드가 있습니다 ! 1. Any Swift의 모든 타입을 지칭할 수 있는 키워드입니다. 변수로 선언한다면, 초기 할당 타입과 다른 타입의 값으로 변경이 가능합니다. 하지만, (Any타입이 아닌) 다른 타입의 변수에 Any타입을 할당할 때는 컴파일 오류가 발생합니다. var anyVal: Any = 100 print(anyVal) // 100 출력 anyVal = "Hi" // Hi 출력 var intVal: Int = anyVal // 컴파일 오류 발생 2. AnyObject 모든 클래스 타입을 지칭할 수 있는 키워드입니다. AnyObject는 클래스 인스턴스만 할당할 수 있기에 클래스가 아닌 인스턴스는 할당할 수 없습니다. class tmpClass ..
1. 상수와 변수 Swift에는 상수와, 변수 개념이 있습니다 ! 상수는 초기 할당 후 변하지 않는 값, 변수는 초기 할당 후 변할 수 있는 값에 사용합니다. //선언 (타입은 생략가능) let 상수이름: 타입 = 값 var 변수이름: 타입 = 값 //예시 let letInt: Int = 100 var varInt: Int = 200 print(letInt) // 100 출력 print(varInt) // 200 출력 letInt = 200 print(letInt) // error 발생 varInt = 300 print(varInt) // 300 출력 변수, 상수는 선언 후에 나중에 값을 할당할 수 있습니다. 하지만 상수는 최초 값 할당 후, 값을 변경할 때 에러가 발생합니다. let letInt: In..
https://www.acmicpc.net/problem/14676 14676번: 영우는 사기꾼? 프로그램의 입력은 표준 입력으로 받는다. 입력의 첫 줄에는 건물 종류의 개수 N, 건물 사이 관계의 개수 M, 영우의 게임 정보의 개수 K가 주어진다.(1 ≤ N, M, K ≤ 100,000) 다음 줄부터 M줄에 걸쳐 www.acmicpc.net 위상정렬 알고리즘을 응용해서 풀이했습니다. C++ 소스 코드 #include #include #define MAX 100001 using namespace std; int n,m,k; vector adj[MAX]; int inDegree[MAX], construct[MAX]; int main(){ ios_base::sync_with_stdio(0); cin.tie(..
버블정렬은 구현이 가장 간단한 정렬 알고리즘입니다! 배열을 순회하면서, 다음 값이 현재값보다 작다면 현재값과 다음값을 교환해줍니다. LOOP를 한번 수행할 때마다, 가장 큰 수가 해당 LOOP의 맨 뒤로 이동하게 됩니다. for문을 두번 중첩하며 O(N^2) 시간복잡도를 가집니다. C++ 소스 코드 #include using namespace std; int main(){ int n = 10; int nums[10] = {3,6,1,2,9,7,4,5,10,8}; for(int i=0;i
- Total
- Today
- Yesterday
- Kotlin
- UIHostingController
- Swift unowned
- boj
- disposeBag
- 코코아팟
- 백준
- 카카오인턴십
- 안드로이드
- C++
- SWEA
- Swift weak
- SwiftUI
- ARKit
- infallible
- Reactivex
- 프로그래머스
- 백준온라인저지
- cocoapods
- GraphDB
- ios
- Lottie
- rxswift
- blendshape
- coreml
- 알고리즘
- blendshapes
- rxswift6
- Swift
- DispatchQueue
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |