분류 전체보기 274

[iOS] App Life Cycle (앱의 생명 주기)

안녕하세요 띵지니어 입니다. 😼 앱의 생명 주기에 대해서 포스팅해보려고 합니다. 본글은 공식문서를 참고 하여 작성하였습니다. 앱의 생명주기는 iOS 13 이후와 이전으로 조금 달라졌습니다.앱의 생명주기에서는 앱이 Foreground 또는 Background에 있을 때 시스템 알림에 응답하고, 다른 중요한 시스템 관련 이벤트를 다룹니다. iOS 13 이상에서는 Scene 기반 앱의 LifeCycle 이벤트에 응답하기 위해 UISceneDelegate 개념을 도입 했고 iOS 12 이하에서는 UIApplicationDelegate를 사용하여 LifeCycle 이벤트에 응답합니다. SceneScene은 앱 내에서 하나의 UI 화면 및 상태를 나타냅니다. iPadOS에서 스플릿뷰와 같이 여러 앱을 동시에 사용..

iOS 2024.11.09

백준 3020번 개똥벌레 Swift

https://www.acmicpc.net/problem/3020  내 코드let input = readLine()!.split(separator: " ").map { Int($0)! }let N = input[0]let H = input[1]var list = Array(repeating: 0, count: H)// O(N)for i in 0.. Review이 문제는, N의 크기가 200,000 이므로 시간 복잡도가 O(N^2)이 넘어가면 시간 초과가 뜨게 됩니다.Imos method 이라는 유명한 문제인데, 누적합을 활용하여 풀었습니다.이모스법을 요약하면1. 벽의 시작(아래)과 끝(위)에 1과 -1을 써줍니다. 2. 해당 숫자들을 높이별로 다 더해줍니다. [3. -1, 1, -1, 1, -1, 1] ..

BOJ/Swift 2024.11.08

[프로그래머스] 행렬의 곱셈 Swift

https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 코드func solution(_ arr1: [[Int]], _ arr2: [[Int]]) -> [[Int]] { var result: [[Int]] = Array(repeating: Array(repeating: 0, count: arr2[0].count), count: arr1.count) for i in 0.. Review먼저 arr1 과 arr2를 곱하면 나올 수 있는 크기의 배열을 초기화 해줍니다.예를들어 3..

프로그래머스 2024.11.07

[프로그래머스] 귤 고르기 Swift

https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 처음 코드처음에는 단순하게, 문제의 아이디어만 가지고 구현에 초점을 두었습니다.tangerine = [1, 3, 2, 5, 4, 5, 2, 3] 일 때1. tangerine 배열에 숫자의 빈도수를 딕셔너리로 만든다. (순서 보장 X)[1: 1, 3: 2, 5: 2, 4: 1, 2: 2]2. 딕셔너리를 빈도수가 많은 순으로 정렬하고 리스트로 만들어 준다 (딕셔너리는 정렬을 못하기 때문에)[5, 5, 3, 3, 2, 2, 4, 1]3. 정렬..

프로그래머스 2024.10.28

[iOS] 앱스토어 긴급, 빠른 심사 하는 방법 (AppStore Quick Review)

안녕하세요, 띵지니어입니다. 😼오늘은 긴급 심사 또는 빠른 심사 과정에 대해 이야기해보려고 합니다.사이드 프로젝트로 진행 중인 앱이 마케팅을 시작하면서 긴급하게 기능을 수정해야 할 상황이 발생했습니다.긴급 심사가 아니더라도, 한 번 제출한 앱은 운이 좋으면 몇 시간 안에 승인될 수 있지만, 저희는 좀 더 확실하게 빠른 심사 대기열에 올리고 싶었습니다.업데이트된 iOS 새 버전을 AppleConnect에 올리고, 빠른 심사 과정을 거치면 됩니다.!앱을 심사에 올렸으면, 아래 과정을 진행하면 됩니다.빠른 심사 과정 1. 애플 개발자 홈페이지를 들어가기 (맨 하단 -> 문의하기 클릭) 2. 앱 심사 클릭 3. 앱 심사 팀에 연락4. 심사 할 앱 정하기App information 에서 빠른/긴급 심사 요청하..

iOS 2024.10.21

[iOS] ReactorKit

안녕하세요, 띵지니어입니다.  😼이번 글에서는 많은 회사에서 사용하고 있는 ReactorKit(리액터킷)에 대해 알아보려고 합니다.실제로 전수열 님이 근무하셨던 스타일쉐어 뿐만 아니라 여러 곳에서도 사용되고 있습니다.ReactorKit은 반응형 단방향 Swift 애플리케이션 아키텍처를 위한 프레임워크 라고 합니다! 장점1. 테스트에 용이 합니다. (View와 Reactor 완전 분리해서 유닛테스트가 가능 해요)2. 유지보수가 쉬움 (데이터가 단방향 흐름이기 때문에, 상태 값 관리를 편하게 할 수 있어요)3. 코드의 일관성 (View와 Reactor의 프로토콜을 준수 하기 때문에 읽기 쉬운 코드가 됩니다.)  BasicConceptReactorKit(리액터킷)의 개념은 Flux와 RxProgramming..

iOS 2024.10.19

[iOS] TabBar 터치 하지 않고, 코드로 TabBar를 움직이는 방법

안녕하세요 띵지니어 입니다. 😼TabBar를 사용자 터치가 아닌 코드로 탭바를 움직이는 방법에 대해 포스팅해보겠습니다. 저는 실제로 저 버튼을 누르면 캘린더로 이동하게 하고 싶습니다.캘린더ViewController가 현재 TabBarController 안에 선언되어 있다고 보겠습니다.해결 방법저 버튼을 누르면 실행되는 함수에 아래 코드만 작성하면 해결이 됩니다.self.tabBarController?.selectedIndex = 1 참고로 selectedIndex는 Int 값이므로, 탭바의 위치에 맞게 0 1 2 3 .. 지정을 해주면 탭바 터치 아니어도 이동을 시킬 수 있습니다. 결과 Xcode 15.0iOS 17.3MacOS Sonoma 14.6.1환경에서 작성 한 글입니다.감사합니다. 🤗

iOS 2024.09.25

[iOS] 수출 규정 관련 문서 누락 해결 방법

안녕하세요 띵지니어 입니다. 😼수출 규정 관련 문서 누락 해결 방법에 대해 포스팅해보겠습니다. 앱을 TestFlight에 올리는 과정애서, 이 처럼 수출 규정 관련 문서 누락이 뜨는데요.아래 해결방법을 선택해서 해결할 수 있습니다. 해결 방법 첫 번째 방법애플 커넥트에서 수동으로 해결하기 두 번째 방법Xcode info.plist 수정하기Xcode info.plist 수정하기에서 수출 규정 준수 관련 절차를 생략(우회) 할 수 있습니다. 1. info.plist 로 가서 직접 변경하는 방법App Uses Non-Exempt Encryption 속성을 No 라고 해주시면 수출 규정 준수 관련 절차를 생략할 수 있습니다. 2. SourceCode 로 수정하는 방법     여기! 여기! 에 아래 코드를 넣어..

iOS 2024.09.24

[iOS] 내비게이션 바 숨김 시 swipe 제스처로 뒤로 가기 구현 하기

안녕하세요 띵지니어 입니다. 😼네비게이션 바를 숨김 처리했을때, swipe 제스처로 뒤로가기를 구현하는 방법에 대해서 포스팅 해보려고 합니다.iOS 개발을 진행하다 보면, 요구 사항에 따라 전체 화면을 더 깔끔하게 보여주기 위해아래 코드와 같이 네비게이션 바를 숨기는 경우가 종종 있습니다.navigationController?.isNavigationBarHidden = true하지만 네비게이션 바를 숨기면, 기본적으로 제공되는 Swipe로 뒤로 가기 기능이 비활성화된다는 점을 알게 됩니다.해결하는 법은 매우 간단합니다.해당하는 ViewController 의 ViewDidLoad에서 아래 코드만 추가 하면 됩니다.override func viewDidLoad() { super.viewDidLoad(..

iOS 2024.09.21

[프로그래머스] H-Index Swift

https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 내 코드import Foundationfunc solution(_ citations: [Int]) -> Int { var HIndex = -1 for i in citations { HIndex = max(HIndex, min(i, citations.filter({ $0 >= i }).count)) } return HIndex} Review처음에 접근할 때는 그..

프로그래머스 2024.08.15
반응형
목차(index)