본문 바로가기
[SwiftUI] TabView page indicator 커스텀하기 프로젝트 진행 중 내가 맡은 ui에서 슬라이드뷰를 만들어야 했는데,    피그마에 올라와 있는 디자인 가이드가 위 이미지와 같았다. 따라서 SwiftUI에서 Tabview가 제공해주는 원형 인디케이터를 사용할 수가 없었고, custom 형식으로 직접 구현해야했다.    내가 구현해야 하는 것: 1. 이미지 슬라이더2. 일정시간 간격을 두고 슬라이더의 이미지가 바뀌어야 함3. 이미지가 바뀔 때, 해당 이미지 순서의 인디케이터 모양이 원형에서 가로로 긴 타원형으로 변경되어야 함     그래서 https://www.youtube.com/watch?v=uo8gj7RT3H8  위 영상을 참고하여 코드를 작성했었다.iOS 15기준으로 위 영상의 코드로 구현을 하면 index가 0에서 1을 넘어갈 경우 외에는 슬라이.. 2024. 4. 25.
[SwiftUI] NavigationView, NavigationStack, navigationTitle Topic:- NavigationTitle 넣기- NavigationItem 설정       SwiftUI 블로그글들을 참고하기가 가끔 애매하다고 느껴질 때가 있는데, 아무래도 애플이 계속 개선하고 있는 중이라 과거(라기엔 비교적 최근이지만)에 쓰여진 기술들 중 Deprecated 된 게 많다는 점 같다. 실제로 NavigationView를 사용해서 navigationTitle을 단 블로그 글들이 많았는데, 현재는 Deprecated 되었다. 그대신 사용할 수 있는 게 NavigationStack이다.         다른 스택들 사용하는 것처럼 NavigationStack이 끝나는 중괄호 끝에.navigationTitle("Title Text")를 붙여주면 네비게이션 타이틀이 나오게 된다. 이때, nav.. 2024. 4. 15.
[iOS] 이미지 캐시 프로젝트 유지보수 중 사수님이 이미지 캐시 관련 로직을 구현하시다가 나에게 이미지 캐시에 대해 설명해주셔서 까먹기 전에 살짝쿵 정리하고 가기로 했다. 실제로 캐시에 대한 개념을 개발자가 알고 있는 게 중요하기도 하고, 의외로 면접 단골 질문이라 미래를 위해서 (?) 이해하고 있는 게 도움이 될 것 같다. https://motosw3600.tistory.com/37 ImageCache ImageCache 이미지 캐시로 이미지를 받아오는 로직은 총 3가지로 분류된다. 메모리 캐시 디스크 캐시 URL 요청 1. 메모리 캐시 NSCache사용 Key-Value쌍으로 이루어진 Generic Type의 클래스 메모리 영역 일부 motosw3600.tistory.com 위 블로그가 사수님이 간결하게 잘 정리 된 것 .. 2024. 4. 3.
[프로그래머스/Swift] 문자열 붙여서 출력하기 [문제] 두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다. 입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.   [풀이] import Foundationlet inp = readLine()!.components(separatedBy: [" "]).map { $0 }let (s1, s2) = (inp[0], inp[1])print("\(s1)\(s2)") 2024. 1. 9.
[프로그래머스/Swift] 대소문자 바꿔서 출력하기 [문제] 영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요. [풀이] let s1 = readLine()!var result = ""for i in s1{ result += (i.isUppercase ? i.lowercased() : i.uppercased())}print(result)  [과정] isUppercase (당연히 isLowercase도 있다)라는 Bool값으로 return 되는 프로퍼티를 사용하여 대문자인지를 true/false로 확인한 다음, 대문자이면 t소문자로 바꿔주는 메서드인 lowercased()로 소문자로, 반대로 대문자가 아니면 uppercased()로 대문자로 값을 result에 .. 2024. 1. 7.
[프로그래머스/Swift] 중복된 숫자 개수 [문제] 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요. [풀이] import Foundationfunc solution(_ array:[Int], _ n:Int) -> Int { var num = 0 // 중복 숫자 카운팅 for i in array { if i == n { num += 1 } } } [과정] 중복된 개수를 따로 뽑아내는 게 있나? 궁금해서 검색했을 때 NSCountedSet가 나왔었다. 간단히 배열을 집어넣고, 그 배열에서 어떤 걸 뽑아내고 싶은지 (for:)로 해주면 되는 건데, 뭔가 코테에 맞.. 2024. 1. 6.