반응형

전체 글 184

WWDC20 | App essentials in SwiftUI

App essentials in SwiftUI - WWDC20 - Videos - Apple DeveloperThanks to the new App protocol, SwiftUI now supports building entire apps! See how Apps, Scenes, and Views fit together. Learn how easy...developer.apple.com     화면에 표시되는 창부터 시작해서 테긋트 이미지 등 모든 필셀은어떤 방식으로도 뷰라고 부를 수 있습니다(제일 작은 단위)  플랫폼은 앱이 표시되는 방식을 제어하여 개별 지역에 앱 조각을 표시할 수 있습니다  이러한 별개의 영역을 Scenes라고 부르고 있습니다 Window는 장면의 내용이화면에 표시되는 일반적인 방..

WWDC 2024.07.22

WWDC| Get started with Swift concurrency

Meet async/await in Swift  Swift Async/await 기능으로 비동기 코드를 쉽게 작성할 수 있습니다  completionHandler / delegate pattern 등 여러가지 방법으로 비동기 코드를 작성할 수 있습니다  첫 번째 스레드는 sync(동기) 두 번째 스레드는 async(비동기)함수를 호출하면 작업을 시작한 스레드의 차단을 빠르게 해제하게됩니다. 그래서 스레드는 오래 실행되는 작업이 완료되는 동안 다른 작업을 수행 하게됩니다그러다 수행하던 작업이 완료되면 completionHandler를 호출해서 다음 작업을 진행하게 됩니다  각 행에 서버에 저장된 이미지의 썸네일이 표시되는 항목 목록입니다이러한 과정에 대해서 설명하고자 합니다  순서1.  thumbnailU..

WWDC 2024.07.17

Lv1 | Swift - 크기가 작은 부분 문자열

문제 설명숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다.제한사항1 ≤ p의 길이 ≤ 18p의 길이 ≤ t의 길이 ≤ 10,000t와 p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다.나의 문제 풀이import Foundationfunc solution(_ t:String, _ p:String..

Programmers/LV1. 2024.07.16

iOS | GCD에 관하여 - 2

Dispatch Group    //DispatchGroup 객체를 생성let dispatchGroup = DispatchGroup()//그룹에 비동기 작업을 추가할 때 dispatchGroup.enter()를 호출dispatchGroup.enter()//작업 완료 알림 (leave)dispatchGroup.leave()//그룹 내 모든 작업 완료 시점에 후속 작업 실행 (notify)dispatchGroup.notify(queue: .main) { print("모든 작업 완료")} 예를 들어 카카오톡 사진첩의 여러 장의 사진과 동영상을 동시에 공유하게된다면DIspatchGroup을 사용할 수 있지 않을까 생각했습니다 장점개별 작업 완료도를 추적할 수 있는 점 단점그룹카운털르 수동으로 증가하거나 감..

UIKit 2024.07.16

iOS | GCD에 관하여 - 1

Thread, Task, Dispatch Queue, GCD Thread / TaskThread - 노동자Task - 일  스레드단일 스레드, Multi-Thread, 멀티 스레드, Multithreading, 멀티 스레딩www.ktword.co.kr 하나의 일을 절대 한 곳(main Thread)에서 처리하는건 무리가 있음iOS에서 작업을 한 곳에서 처리하는것 같이 보여도 사실상 OS가 분산처리를 하고 있기 때문에(dispatch queue)선입 선출로 빠져나갑니다 그래서GCD란 뭘까?다수의 스레드에 적절히 분배시키기 위해서 task들을 queue에 넣는것인데  Grand Centeral Dispatch스레드를 적절히 생성해서 분배해주는 방법이고GCD에서 사용하는 queue의 이름이 Dispatch Q..

UIKit 2024.07.15

Lv1 | Swift - 3진법 뒤집기

문제 설명자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.제한사항n은 1 이상 100,000,000 이하인 자연수입니다.입출력 예nresult457125229입출력 예 설명입출력 예 #1답을 도출하는 과정은 다음과 같습니다.n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현45120000217따라서 7을 return 해야 합니다.입출력 예 #2답을 도출하는 과정은 다음과 같습니다.n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현1251112222111229따라서 229를 return 해야 합니다.나의 문제 풀이import Foundationfunc solution(..

Programmers/LV1. 2024.07.15

Scene / App Life Cycle / Touch

iOS앱이 사실상 내부적으로는 복잡한 매커니즘을 가지고 있지만실제로 알지 못해도 사용자(개발자/디자이너 등) 쉽게 사용할 수 있습니다애플은 일반인들도 사용하기 쉽게 더 만들고 있다는게 확연히 느끼고 있습니다    일반인 보다 완벽하게 사용하기 위해서?내부적인 메커니즘 이해앱의 생명주기, 뷰컨트롤러의 생명주기, Drawing Cycle 화면의 터치위치 / 강도 터치OS 관리 -> 실행중인 앱의 런루프로 sender -> 어떤 함수로 실행할 지 판단   Window는 앱에 표시되는 Visible를 포함하고 있고뷰와 app object에 touch event를 전달하고 viewController와 상호작용해서 화면 회전을 처리하고 있습니다   UIResponder | Apple Developer Documen..

UIKit/구조 2024.07.12

Lv1 | Swift - 예산

문제 설명S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다.물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다.부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요.제한사항d는 부서별로 신청한 금액이 들..

Programmers/LV1. 2024.07.12

Lv1 | Swift -최대공약수와 최소공배수

문제 설명두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.제한 사항두 수는 1이상 1000000이하의 자연수입니다.입출력 예nmreturn312[3, 12]25[1, 10]입출력 예 설명입출력 예 #1위의 설명과 같습니다.입출력 예 #2자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다. 나의 문제 풀이func solution(_ n:Int, _ m:Int) -> [Int] { var numA = min(..

Programmers/LV1. 2024.07.10
반응형