분류 전체보기
-
SwiftUI List Background Color(iOS 16.0+)iOS/Swift 2022. 9. 29. 10:52
안녕하세요, 오늘은 SwiftUI에서 List의 Background Color를 설정하는 방법에 대해서 알아보겠습니다. 바로 시작하겠습니다 🐶 iOS 16부터 SwiftUI의 List는 UICollectionView로 지원된다. 그래서 보통 View의 이니셜라이져에서 UICollectionView, UICollectionViewCell의 Appearance().backgroundColor를 Clear로 바꿔주게 되는데, 바꿔봐도 계속 systemBackground 색상이 남아있게 된다. List는 뷰를 다시 그리면서 백그라운드를 재설정하기 때문이었다. 최소 지원 버전이 iOS 16이면 새로 생긴 수정자인 .scrollContentBackground를 사용할 수 있겠지만, 현재 프로젝트는 최소 지원 버전 ..
-
SwiftUI 제스처가 작동하지 않을 때iOS/Swift 2022. 7. 10. 19:29
안녕하세요! 오늘은 SwiftUI에서 onTapGesture등 제스처가 작동하지 않을 때 처리하는 방법에 대해서 알아보겠습니다. 바로 시작하겠습니다 🐶 이번에 SwiftUI로 프로젝트를 진행하던 중, 투명한 백그라운드를 가진 뷰에 탭 제스처를 추가했지만, 제스처가 작동하지 않았다. 뷰의 영역이 잘못 설정 되어있는 줄 알고 백그라운드 색깔을 바꿔줬지만, 뷰의 영역이 제대로 잡혀있었고, 백그라운드 색을 바꿔줬을 때에는 제대로 제스처가 작동했다. 관련된 내용을 찾아보던 중 해결법을 알아냈다. SwiftUI에서 제스처를 사용하려면 콘텐츠가 불투명 해야한다. 즉, 백그라운드 컬러를 clear로 설정했기 때문에 발생한 문제였다. Rectangle() .foregroundColor(.blue) .border(Colo..
-
iOS AmplitudeiOS 2022. 6. 23. 11:34
안녕하세요! 오늘은 Amplitude에 대해서 정리해보았습니다. 바로 시작하겠습니다 🐶 Amplitude란? Amplitude는 프로덕트 분석 툴로, 웹과 앱에 걸쳐 사용자들이 수행한 이벤트와 이벤트의 프로퍼티, 그리고 유저 프로퍼티의 통합 수집 기능을 제공한다. 만약 Tunes라는 모바일 앱이 있다고 했을 때, 다음과 같은 화면에서 사용자들은 노래를 실행하거나, 스킵하거나, 무작위 곡을 틀 수 있고, 공유도 할 수 있다. Amplitude를 사용하면 사용자들이 실행한 이런 행동을 추적할 수 있게 된다. 기본적으로 이벤트 프로퍼티와 유저 프로퍼티를 설정할 수 있는데, 이벤트 프로퍼티에는 어떤 이벤트인지, 그 이벤트의 속성은 무엇인지 설정해줄 수 있다. 유저 프로퍼티는 IDFV 아이디를 기반으로 사용자를 ..
-
SeSAC iOS 데뷔과정 후기Dev Life 2022. 4. 27. 18:20
안녕하세요, 오늘은 방황하던 저를 iOS 신입 개발자로 성공적으로 데뷔하게 해준!! 2기 모집기념으로!! SeSAC iOS 데뷔과정에 대해서 후기를 남겨볼까 합니다 :) 2기 교육생분들 다들 화이팅!!! 계기부터 선발까지 우선, 저는 비전공자 출신으로, 독학으로 개발을 공부하고 있었어요. 애플의 갬성이 좋아!! iOS 개발을 하고싶어!! 라는 이유만으로 Swift를 학습하고 있었는데, 비전공자 + 독학 조합으로는 프로젝트를 처음 시작하는 것도 많이 어렵더라구요 하하핳ㅎ 그렇게 고생고생하면서 작동하는 앱을 만들어도, 내가 잘 만든건지 피드백을 줄 사람이 없어서 너무 힘들었습니다. 그러던 와중!! SeSAC iOS 개발자 데뷔과정을 보게 되었고, 이건 꼭 해야해!! 하면서 신청하게 되었습니다. 선발과정 선발..
-
SOLID in SwiftiOS/Wiki 2022. 4. 4. 01:44
안녕하세요! 오늘은 객체지향의 다섯가지 원칙인 SOLID에 대해서 공부해보겠습니다. 바로 시작하겠습니다 🐶 SOLID 원칙이란? SOLID란 객체지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 각 원칙의 맨 앞글자만 딴 원칙입니다. 1. Single Responsibility Principle(단일 책임 원칙) 2. Open/Closed Principle(개방 폐쇄 원칙) 3. Liskov Substitution Principle(리스코프 치환 법칙) 4. Interface Segregation Principle(인터페이스 분리 원칙) 5. Dependency Inversion Principle(의존성 역전 원칙) 각 원칙을 따르지 않아도 프로그래밍은 가능하지만, 시간이 지나도 유지보수와 확장이 쉬운 ..
-
POP(Protocol-Oriented Programming) in Swift (1/2)iOS/Wiki 2022. 3. 28. 20:31
안녕하세요! 오늘은 WWDC2015에서 발표했던 POP에 대해서 알아보는 시간을 갖도록 하겠습니다. 바로 시작하겠습니다🐶 먼저, 영상의 소개에는 이런 문구가 적혀있다. At the heart of Swift's design are two incredibly powerful ideas: protocol-oriented programming and first class value semantics. Each of these concepts benefit predictability, performance, and productivity, but together they can change the way we think about programming. Find out how you can apply these..
-
ReactorKit 사용기iOS/Wiki 2022. 3. 5. 01:50
안녕하세요 🐶 오늘은 ReactorKit을 사용하는 방법에 대해서 정리해보려고 합니다. 바로 시작하겠습니다. 왜 ReactorKit을 사용하게 되었는지 MVVM 패턴 + Input Output을 활용하면서 느낀 점이 있었다. Swift에서 MVVM 패턴으로 작성된 코드를 살펴보게 되면, 굉장히 많은 방법으로 구현되어있음을 느낄 수 있었다. 최근 작성된 코드들을 살펴보면, Input과 Output을 활용하여 입력, 출력으로 추상화하는 방법을 많이 사용하는 것 같은데, 이 Input과 Output을 활용하는 방법에도 func transform(input: Input) -> Output { } 이렇게 함수를 만들어서 활용하는 방법과, 뷰 모델 클래스 안에 Input, Output를 인스턴스로 만든 뒤 이니셜라..
-
(RxSwift)API 호출 시점이 많을 때, 효율적으로 관리하기iOS/Swift 2022. 2. 23. 17:59
안녕하세요! 프로젝트를 하다보면 API를 여러 시점에서 호출해야 하는 상황이 생기는데요, 이런 상황을 어떻게 효율적으로 관리할 수 있을지 정리해보았습니다. 더 좋은 방법이 있다면 피드백 부탁드립니다!! 문제점 프로젝트를 하면서, 서버에 요청하여 유저 목록을 가져와야하는데, 호출해야 하는 시점이 매우 다양하다. 화면 진입 시 주변 사람 / 받은 요청 탭을 전환 할 때 empty view에서 새로고침 버튼을 눌렀을 때 카드뷰를 아래로 당겨서 새로고침 할 때 카드뷰의 상세 화면을 닫았을 경우 앱이 백그라운드 → 포그라운드 상태가 됐을 때, 앱의 화면이 새싹 찾기 화면일 경우 여기서 또 고려해야 할 점이, 호출 시점이 많아 너무 과도하게 호출될 수 있어 마지막 호출이 일어난 지 5초가 지나지 않았다면 호출하지 ..