SWIFT
[Swift] FCM 주제 구독 및 백그라운드 처리
오랜만에 글을 남기고 싶은 부분이 있어서 글을 남긴다.. FCM 의 종류로는 3가지로 단일기기, 기기그룹, 주제구독 이 있는데 글쓴이는 주제구독을 사용했다. 특징을 잘 나타낸 블로그가 있는데 안드로이드 기준 글이라 내용만 살펴보면 될 것 같다. (감사합니다~)https://donghun.dev/Firebase-Cloud-Messaging [Firebase] FCM에 대해서 알아보자. 🔔Note : 이 글은 지극히 주관적인 생각을 토대로 작성된 글입니다. 혹시나 잘못된 부분이 있다면 메일 또는 코멘트를 통해 알려주시면 감사하겠습니다. 😄 제 메일은 About 탭에서 확인하실 수 있습donghun.dev 서버에서 보내는 메세지 payload의 규칙은 다음 글을 보며 파악해보자.https://sweet..
[Swift] 의존성 주입, DIContainer(IOC Container)만들기
Clean Architecture를 사용하다보면 의존성 주입 중 의존성 역전에 의해 인스턴스 생성에 필요한 파라미터가 끊임없이 늘어남을 경험했을 것이다.. 그러한 불편함을 해결해줄 방법으로써 DIContainer를 AppDelegate에 두어 앱 첫실행 때 모든 의존성 주입이 필요한 인스턴스를 초기화시켜놓고 싱글톤으로 사용하는 법이다. 의존성 주입에 관한 글 https://ios-daniel-yang.tistory.com/71 [iOS/Swift] 의존성 주입, 의존성 역전이란? 의존관계 역전 원칙 (DPI : Dependency inversion principle) 의존관계 역전 원칙은 SOLID의 마지막 원칙으로 상위 모듈이 하위 모듈에게 의존하지 않도록 설계하는 겁니다. 즉, 상위 모듈과 하위 모듈..
[Swift 용어] 상속을 알아보자
1탄 키워드 : 기본 Class, 서브 클래싱, 클래스끼리 단일 상속만, final은 제외 https://babbab2.tistory.com/125 Swift) 상속(Inheritance) 정복하기 (1/2) - 상속이란? 안녕하세요!!! 소들입니다 :)))) 얼른 Swift 문법 포스팅을 모두 끝..ㄴㅐ고.... iOS와 Rxswift 포스팅으로 넘어가고 싶은...... 소들의... 바람은.. 언제쯤.. 이뤄질지.. 🐂🐂 쨌든 이번 포스팅은 "상속"에 babbab2.tistory.com 2탄 키워드 : 오버라이딩, super, 저장 프로퍼티 오버라이딩 불가 https://babbab2.tistory.com/126 Swift) 상속(Inheritance) 정복하기 (2/2) - 오버라이딩(Overrid..
[Swift 용어] Extension 이란
Extension에 대해 알아보자 키워드 : 연산 프로퍼티 추가, 메서드 추가, struct 생성자 추가, subscript 추가, enum 추가, 프로토콜 추가, where 을 사용한 조건 추가 https://babbab2.tistory.com/124 Swift) 확장(extension) 정복하기 안녕하세요 :) 소들입니다 호호홋 오늘은 Swift 문법 중에 확장!!! 엄청 많이 쓰는 extensionㅇㅔ 대해 알아볼 거예요! Objective-C를 아시는 분이라면 익명 Category라고 생각하면 될 것 같아요!! 그럼 시작 babbab2.tistory.com
[Swift 용어] 서브스크립트란
서브스크립트를 알아보자 키워드 : 변수[??], subscript, 딕셔너리, 타입 서브스크립트 https://babbab2.tistory.com/123 Swift) 서브스크립트(Subscript) 정복하기 안녕하세요!?! 소들입니다!!!!!!!!! :D 오늘은 서브스크립트(Subscript)에 대해 알아볼 거예요!!! 이렇게 하나하나 Swift를 정복하다보면.. 언젠가 Swift 왕이 되어 있기를 간절히 바라며.....👑 이번에도 babbab2.tistory.com
[Swift용어] 메서드 두 종류
인스턴스 메서드, 타입 메서드 키워드 : static, class, 함수와 메서드 https://babbab2.tistory.com/122 Swift) static? class? 메서드 완벽 정복하기 안녕하세요 :))) 소들입니다!!!! 저번 포스팅에서 프로퍼티의 종류와 특징에 대해 다 공부 해봤어요! 프로퍼티 종류엔 저장 프로퍼티, 연산 프로퍼티, 타입 프로퍼티에 대해 알아봤져!? 프로퍼티 babbab2.tistory.com
[Swift 용어] 프로퍼티의 세 종류
저장 프로퍼티, 연산 프로퍼티, 타입 프로퍼티 feat. 프로퍼티 옵저버 저장 프로퍼티 그리고 클래스와 구조체 차이점 알아보기 키워드 : lazy, stack, heap https://babbab2.tistory.com/118 Swift) 프로퍼티 정복하기 (1/4) - 저장 프로퍼티(Stored Property) 안녕하세요 :) 소들입니다!!!! 해이해진 마음을 다잡고!! 다시 정복하기 시리즈?로 돌아왔습니다! 사실 이 정복하기 포스팅은 저를 위해 쓰기 시작한 거였어요. 아무리 쉽건 어렵건 한번 보고 넘 babbab2.tistory.com https://declan.tistory.com/53 Swift lazy 알아보기 lazy 저장 프로퍼티는 처음 사용되지 전까지 초기값이 계산되지 않는 프로퍼티이다...
[Swift] WKWebView와 Javascript 사이 통신을 만들어보자
웹 뷰를 만들고 웹 뷰에서 넘어오는 값을 받거나 웹 뷰에게 값을 넘기는 방법을 알아보자. 웹 뷰 초기 세팅 import Foundation import UIKit import SnapKit import WebKit class MainViewController: UIViewController, ReactorKit.View { ... // safe area view let safetyAreaView = UIView() let progressView: UIProgressView = { let view = UIProgressView() view.trackTintColor = .lightGray view.progressTintColor = .systemRed return view }() // 웹 뷰 담을 뷰 le..
[Swift] 좌우 무한 collectionView 를 만들어 보자
좌우로 무한적인 스크롤이 가능한 콜렉션 뷰를 만들어보자. 우선 콜렉션 뷰의 셀들을 나열할 실제 데이터 리스트가 11개라고 치자. 그럼 양 옆에 그 리스트 11개를 복제하여 양옆에 두면 첫번째 데이터에서 -1이 될때 데이터 리스트의 마지막으로 넘어가게 된다. -1이 된 상태에서 애니메이팅을 false로 하여 실제 열번째 셀(11+11)으로 이동하게 하면 눈속임이 완성된다. 말로하면 어려우니 하단을 봐보자.. ex) 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 이런식의 데이터가 있으면 빨간색이 실체라 하고 다른색은 눈속임용이라 생각하자. 빨간색 0 에서 -1 이 되면 10으로 넘어가고 10에서 애니메이팅을 멈추면 빨간색 10으로 ..
[Swift] 상단 탭바 페이지 뷰컨트롤러 만들기 (Upper Tab Page View)
상단 탭바를 가진 뷰컨트롤러를 만들고자 하니 인터넷 상에선 방법이 두가지가 있는거 같다. 콜렉션뷰 + 콜렉션뷰를 사용해서 상단과 하단을 나누어 나타내던지 콜렉션뷰 + 페이지뷰컨트롤러를 사용해서 나타내는 방법이 있었다. 나는 각각의 뷰컨트롤러를 두고 생명주기를 쉽게 컨트롤 하고 싶었기에 콜렉션뷰 + 페이지 뷰컨트롤러 이 방법을 채택 했다. 실무에서 쓰던 코드를 공공연히 볼수 있게 몇몇 코드를 수정한 코드이다. 몇몇 코드가 누락되긴 했지만 참고할 수 있을거같다. 우선 레이아웃부터 잡아보았다. 상단 탭바를 위한 콜렉션 뷰 + 각 콜렉션뷰의 선택된 값을 하이라이트 시킬 하단 라인 뷰 + 각 뷰컨트롤러의 컨텐츠들을 보여줄 페이지 뷰컨트롤러 로 구성되어있다. import Foundation import UIKit ..