Deep_Lee
article thumbnail
[Swift] prefix suffix
📚 코딩테스트/Swift 2023. 11. 1. 15:22

📚 prefix suffix prefix 컬렉션의 초기 요소를 포함하는 지정된 최대 길이까지 하위 시퀀스를 반환한다. 최대 길이가 요소 수를 초과하는 경우 결과에는 컬렉션의 모든 요소가 포함된다. let numbers = [1, 2, 3, 4, 5] print(numbers.prefix(2)) // Prints "[1, 2]" print(numbers.prefix(10)) // Prints "[1, 2, 3, 4, 5]" 관련 문제 prefix 를 이용하여 푼다면 ? import Foundation func solution(_ my_string:String, _ n:Int) -> String { return String(my_string.prefix(n)) } 💡 my_string:prefix(n) 앞에..

article thumbnail
[Swift] String 다양한 함수 정리
📚 코딩테스트/Swift 2023. 10. 27. 16:56

📚 String 구조체이고 다른 언어와 같이 character가 모인 집합 Array() : 문자열 -> 배열 문자열의 요소 하나하나를 배열로 만드는 방법. let name: String = "SWIFT" let arrName = Array(name) print(arrName) // ["S","W","I","F","T"] count() , empty() : 문자열의 길이 구하기 let string: "A Unicode string value that is a collection of characters." print(string.count) // 58 let empty = "" print(empty.isEmpty) // true print(string.isEmpty) // false append() : ..

[Swift] 배열 메소드 sort() sorted() / reverse() reversed()
📚 코딩테스트/Swift 2023. 10. 18. 19:13

📚 배열의 다양한 메소드 정렬 sort() sorted() sort()는 기본적으로 '원본 배열'을 가지고 오름차순으로 정렬을 한다. 물론 내림차순으로도 정렬이 가능하다. 만약, 내림차순으로 정렬을 하고 싶다면, sort(by:)를 사용해서 sort(by:>)와 같이 작성해주면 된다. sort(by:)를 사용해서 오름차순으로 정렬하는 방법도 있다. 바로 sort(by:)로 작성해주면 된다. sort와 동일하게 sorted()만 작성해주면 오름차순으로 정렬된다. 코드예시 var arr = [ 1, 5, 2, 4, 3 ] // 기본 오름차순 정렬 var sotredArr = arr.sorted() print(arr) // [1, 5, 2, 4, 3] print(sortedArr) // [1, 2, 3, 4,..

article thumbnail
[iOS] 앱의 생명주기 (LifeCycle)
🍎 iOS/UIKit 2023. 6. 15. 16:03

생명주기 ( LifeCycle ) 생명주기라는 것은 앱의 최초 실행부터 앱이 완전히 종료되기까지 앱이 가지는 상태와 그 상태들 사이의 전이를 말한다. 앱의 상태는 앱이 현재 어떠한 것을 할 수 있는가를 결정한다. 앱의 생명주기 ( App's Life Cycle ) App의 생명주기는 APP의 실행/종료 및 App이 Foreground/Background 상태에 있을 때, 시스템이 발생시키는 event에 의해 App의 상태가 전환되는 과정을 말한다. 카카오톡 앱으로 카톡을 하고 있는 도중에 전화가 왔을 때 앱이 화면상에서 보여지지 않는 상태인 Background 상태와 앱이 화면에 올라와있는 상태인 Foreground 등과 같은 상태들을 정의한 것이다. iOS에서 앱을 실행하면 무슨 일이 벌어질까 ? iO..

article thumbnail
[iOS][UiKit] Navigation BackButton ( 사라지는 현상, 화살표만 표시 )
🍎 iOS/UIKit 2023. 6. 14. 17:31

코드로 Navigation 영역 수정을 반복하다가 알게 된 사실 .. 원래는 Navigation Back 버튼을 통해 화면을 전환했다가 돌아오면, 해당 버튼이 보이지 않는 현상때문에 수정을 하려고 했었는데, 이를 수정하다 우연히 필요했던 구현을 하게 되었다. Navigation Back Button A 화면에서 Navigation 버튼을 통해 B 화면으로 전환했을 때, B화면에서 다시 A 화면으로 돌아가는 Navigation 영역의 Back 버튼을 컨트롤러의 타이틀은 보이지 않고, 화살표 모양만 보이게 하고 싶었다. 일단 뒤로가는버튼이 사라지는 현상의 원인 네비게이션 바의 스타일과 버튼 속성이 정확하게 설정되어있는지 확인해야 했다. 그래서 다음과 같은 코드를 사용해서 네비게이션 바의 스타일과 버튼 속성을..

article thumbnail
[Swift][iOS] GCD API 동작 방식과 필요성 (1)
🍎 iOS/Swift 2023. 6. 13. 15:28

📌 GCD ( Grand Central Dispatch) 란? 다수의 Thread에 적절하게 작업을 분배하기 위해 해야 할 일은 무엇일까 ? 바로 할 일(task)를 Queue에 넣는 것이다. 넣어야 되는 것이라면 다수의 Thread에 적절하게 작업을 분배하는 일은 누가 할 것인가 ? 바로 GCD는 Queue에 넣으면 그에 따른 스레드를 적절하게 생성해 분배해주는 첫번째 방법이다. 그리고 GCD에서 사용하는 Queue 이름이 Dispatch Queue이다. 그럼 Dispatch Queue에 작업이 추가되면 GCD는 작업에 맞는 스레드를 자동으로 생성해서 실행하고, 작업이 종료되면 스레드를 제거하게 된다. 📌 Dispatch Queue란? 앱의 메인 스레드나 백그라운드 스레드에서 순차적으로 또는 동시에 작..

article thumbnail
[Swift][iOS] QOS
🍎 iOS/Swift 2023. 6. 13. 15:28

QoS ( Quality of Service ) QoS는 서비스의 품질이다. DispatchQueue의 작업을 우선적으로 분류하는데 도움을 준다. 개발자는 중요도에 따라 앱 작업을 분류해 시스템의 우선 순위를 보다 효과적으로 지정할 수 있다. 최적의 시간까지 작업을 연기하는 것과 비슷하게 다른 효율성 처리를 구현한 경우에도 시스템은 여전히 일정 수준의 우선순위를 수행해야 한다. 그렇기 때문에 앱이 수행하는 작업을 분류하는 것은 중요하다. QoS의 class 정보 서비스 품질(QoS) 클래스를 사용하면 수행할 작업을 NSOperation, NSOperationQueue, NSThread개체, 디스패치 대기열 및 pthread(POSIX 스레드)로 분류할 수 있다. 작업에 QoS를 할당하여 중요도를 표시하면..

article thumbnail
[iOS][UiKit] SnapKit 정리 ( inset/offset , translates~ )
🍎 iOS/UIKit 2023. 6. 9. 16:44

SnapKit SnapKit을 사용해보면서 헷갈렸던 부분 정리 - offset/inset - translateAutoresizingMaskIntoContraints 📌 offset / inset 💡offset 사용시 '현재 뷰 constraint = 슈퍼뷰 constraint + offset 값'을 생각하고 설정한다. label.snp.makeConstraints { make in make.top.equalToSuperview().offset(50) make.left.equalToSuperview().offset(50) make.right.equalToSuperview().offset(-50) make.bottom.equalToSuperview().offset(-50) } 기준이 되는 View에 맞춰서 ..